Jump to content
php.lv forumi

variablis iekšs ifa ar pārbaudi


anonīms

Recommended Posts

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 by codez
Link to comment
Share on other sites

ī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>';
	}
Link to comment
Share on other sites

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 by codez
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...