rpr Posted April 30, 2013 Report Posted April 30, 2013 nu tu to vari nosaukt par kļūdu un vari arī nosaukt par paziņojumu kāpēc nevalidējās. pa lielam validācija jau atgriež boolean, nevis void ar iespēju exceptionu norauties. Quote
codez Posted April 30, 2013 Report Posted April 30, 2013 (edited) Par šo jau šeit bija viena diskusija pāris mēnešus atpakaļ.rpr, validācijā exceptionus izmanto ļoti plaši un tie būs sastopami prakstiki jebkurā validācijas bibliotēkā, kura būvēta uz platformas, kur exceptioni ir labi atbalstīti. Tā kā PHP tie ir tādi hibrīdīgi, daļa funkciju met warningus, daļa errorus un tikai daļa exceptionus, tad PHP exceptionus izmanto mazāk, taču tie ir daudz ērtāks mehānisms kļūdu apstrādei un es iesaku tos izmantot arī PHP. Piemēram, Kohanas ORM validācijas bibliotēka itin labi izmanto šo mehānismu: http://kohanaframework.org/3.2/guide/orm/validation Edited April 30, 2013 by codez Quote
codez Posted April 30, 2013 Report Posted April 30, 2013 anonīm, pēc kļūdu paziņojuma spriežot, tu exceptionu izmet, bet tas netiek noķerts, pārbaudi kārtīgi vai exceptions tiek mests try{} bloka ietvaros. Quote
anonīms Posted April 30, 2013 Author Report Posted April 30, 2013 īsti pat nezinu, kur tā vaina bija, bet pārkopējot no jaunā faila rindas viss aizgāja, btw Cik gudri ir taisīt exceptionu iekšs exceptiona? try { $collected = $leagueClass->retrieveNFLdata($_FILES['gamelog']); try { $leagueClass->validateNFLdata($collected,$myteam,$league['id']); } catch (error $e){ $messages = '<div class="bx error">'.$e->getMessage().'</div>'; } } catch (error $e) { $messages = '<div class="bx error">'.$e->getMessage().'</div>'; } Quote
codez Posted April 30, 2013 Report Posted April 30, 2013 (edited) Exceptionu skaistums ir tajā, ka tev to nevajag darīt: try { $collected = $leagueClass->retrieveNFLdata($_FILES['gamelog']); $leagueClass->validateNFLdata($collected,$myteam,$league['id']); } catch (error $e) { $messages = '<div class="bx error">'.$e->getMessage().'</div>'; } Ja kāda no funkcijām izmetīs exceptionu, tā uzreiz darbība pāries pie catch bloka. Pameklē un palasi kādu vispārigu tutoriāli par exceptioniem un kā to darbības principiem. Par to kā tos organizēt, veidot to hirearhiju, utt. Respektīvi tu vari izveidot vispārīgu exceptionu un tad konkrētus exceptionus, kas extendo vispārīgo. Tad tu vari ķert konkrētos, vai ķert vispārīgos exceptionus. Edited April 30, 2013 by codez Quote
anonīms Posted April 30, 2013 Author Report Posted April 30, 2013 wow. Super! Paldies :) obligāti palasīšos Quote
rpr Posted May 1, 2013 Report Posted May 1, 2013 te iepriekšējā diskusiju, ka esmu palaidis garām: http://php.lv/f/topic/21233-vai-leitot-return-vai-tomēr-ne-diskusijas-turpinājums/ Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.