2010年5月31日 星期一

PHP筆記(4)

這篇會提到
1.xml相關處理
2.錯誤與例外處理
3.善用print_r()函式 

1.xml相關處理
範例:
$xml = simplexml_load_file($URL);
$entry = $xml->entry;
$attrs = $xml->entry->video->duration->attributes();
$media = $entry->children($URL);


使用simplexml_load_file()可以簡單取得XML的資訊
使用時加入XML提供方的link當參數即可
存取XML資料時會以階層性質來使用,指定標籤名稱可存取階層資訊
->符號以物件形式來看,會是從xml物件裡面取得子元素
然後利用 attributes()取得資訊

第三個程式碼擷取duration標籤,並用attributes()以陣列形式取得值
children這個方法可以回傳一個內含特定名稱空間內所有子元素的陣列
也可以跟 attributes()做很好的搭配

2.錯誤與例外處理
分別從MySQL與PHP來看錯誤處理

通常SQL碼的處理方式是
mysqli_connect(localhost, $account, $pw) or die('Couldn't connect !');
die()這個函式會在錯誤發生時被呼叫
但假如想知道詳細發生的訊息可用 or die(mysqli_error($db_link)) 來得知

PHP部分的例外處理則類似Java的例外處理,如下範例

function checkBalance($balance){
  if($balance < 1000) {
     throw new Exception("Balance is less than 1000");
   }
   return true;
}

try{
checkBalance(1);
echo 'Balance is above 1000';
}catch(Exception $e){
  echo 'Error:'.$e->getMessage();
}

執行結果是Balance is less than 1000

3.善用print_r()函式 

print_r()函式可以用來輸出變數的值或是字串
debug時最需要的就是確認變數的值有沒有如想像中的傳入或改變
善用這點就可以確認變數的狀態

沒有留言:

張貼留言