You are on page 1of 5

Chng 9 : IU KHIN V TRNH NHNG LI

Sau khi vit m lnh, ngi mi lp trnh s gp khng t kh khn trong vic tm ra li v chnh sa li. PHP h tr y tnh nng lp trnh giao din API (Applications Programming Interface) c th tm ra li v khc phc nhng li y. Ngoi PHP th Apache Web Server cng h tr ngi lp trnh tm ra li v khc phc li.

Tip xc vi li Apache Web Server nh th no?


Apache c mt th mc Li ti liu, bn c th nh cu hnh trong file httpd.conf to ra nhng trang thng bo li vi PHP, v th ngi thm trang web khng thy bun chn. PHP to ra trang web thng bo li thn thin cho ngi dng. Khng ging nhng trang thng bo li nh PHP, trang ca Apache c s dng nhiu cho nhng trang mt.

Mt phng php khc ca vic thi hnh li


Bn va a ra nhng thng bo li thng thng, c mt phng php khc t nhin hn chn mnh echo kim tra gi tr ca bin v xem mnh iu kin ng hay cha. PHP cng cung cp vi thng bo li cho nhng li n gin. Nhng ngoi l PHP5 gii thiu c tnh mi gi l nhng ngoi l. Nhng iu tng t nh ngn ng Java. Nhng iu kin iu khin ngai l trong ng dng Web v cho bn mt cch hiu qu iu khin nhng li gp phi. PHP5 s dng phng php tm kim, nm bt iu khin nhng ngoi l. V d v vic th nghim vi nhng ngoi l

Trong bi ny, bn s to mt phin bn a ra vi ngoi l thy chng lm vic th no 1. To mt trang PHP vi on code sau: <?php //$x = ; //Throws null Exception //$x = 500; //Throws less than Exception $x = 1000; //Throws NO Exception try { if ($x == ) { throw new Exception(Variable cannot be null); } if ($x < 1000) { throw new Exception(Variable cannot be less than 1000); } echo Validation Accepted!; } catch (Exception $exception) { echo $exception->getMessage();

echo - Validation Denied!; } ?> 2. Lu on code vi tn exceptions.php v chy n trong trnh duyt. Bn khng thy bt c li no 3. Thay $x= 1000 bng $x= 4. Lu file v chy mt ln na, bn s thy mt thng bo rng 5. Thay $x= bng $x= 500 6. Lu file li v bn s thy thng bo less than 1000 N hot ng th no? S hu ch ca khi ny l tt c nhng iu kin phi gp hoc thy. y l hu ch khi bn cn kim tra nhiu bin hay khng mun thng qua nhiu mnh if/else cho vic tm ra kt qu. Tt c yu cu trong mnh if m ng th s thc hin, s a ra thng bo li thch hp ph thuc vo ngoi l gp phi. Trong vng thy li, bn c th thi hnh li trong bt c phng php no bn thch. Bn mun gi n ngi dng l bn mun thit lp vi bin mc nh, kt ni c hai hoc bt c ci g m bn cn. Hu ch ca vic s dng nhng ngoi l l cch chng a ra nhng hm v code. V d, nu bn c mt hm gi l hm B m bn trong th gi hm C v mt ngoi l trong hm C thng qua vic s dng try{} , ngoi l s dng vic x l phin bn nu khi c tm thy

Nu khng tm thy try{}catch{} khi thi hnh code, li s xut hin trn mn hnh thng bo ngoi l xut hin. Ngoi l cng c th thng qua nh sau: <?php try { throw new Exception(This will be rethrown); } catch (Exception $e) { throw $e; } ?> Khng gp nhng iu kin Khng phi trong bt c on m no cng gp li, n ch xut hin khi lin quan n PHP, bng vic s dng vi phng php khc nhau trong on m kim tra li xut hin. <input type=submit name=submit value=Submit> Bn ang kim tra thy nt nhn khi no hoc s khng thi hnh thng tin khi no. Bn c th lm iu ny nh sau: if ($_POST[submit] == submit) {

//form has been submitted } else { //form has not been submitted } Phn tch li Phn tch li l kiu li chnh, n xut hin khi bn qun mt du chm phy,Nhng li ny khng lm vi mnh iu kin, chng l c php chnh l nguyn nhn dng vic thc thi. Phn tch li xu hn nhng li nng v chng khng th chy tt c nhng phin bn, chng cho bn thng tin v li. Tm li. Bn c c nhiu th trong chng ny, t vic bit c nhng li cho n vic phng nga nhng li, gip ngi lp trnh lm th no phng nga li, tm ra li.

You might also like