2013-05-14 57 views
1

我有下面的代碼片段:讓未定義的變量錯誤在PHP

<?php 
ini_set('display_errors', '1'); 
error_reporting(E_ALL | E_NOTICE); 
print $bla; 
print 7; 
?> 

打印出一個警告bla是不確定的,但事後繼續。我希望PHP在遇到未定義的變量時拋出錯誤並停止代碼執行。怎麼做?

以上只是一個例子。我想處理一個數千塊塊內的每個未定義的變量。

回答

5

你可以編寫自己的錯誤處理程序。當遇到這種類型的通知時,讓它停止執行。看看

http://php.net/manual/en/function.set-error-handler.php

一個小而簡單的例子:

function new_error_handler($errno, $errstr, $errfile, $errline) { 
    switch ($errno) { 
     case E_NOTICE: 
     if (strstr($errstr, 'Undefined variable')) { 
      die('Undefined variable found'); 
     } 
     break; 
    } 
} 

set_error_handler('new_error_handler'); 

echo $foo; 
-1
if(!isset($bla)){ 
    throw new Exception('bla variable is not defined'); 
} 
+0

抱歉,我沒有閱讀本「以上僅僅是一個例子,我想處理每一個未定義的變量..。 。「:) – Agrest 2013-05-14 08:50:03