[英]PHP does not appear to warn me when I try to instantiate a non-existent class
我正在使用 PHP5.3 命名空間類。 一個常見的錯誤是沒有正確使用命名空間(絕對與相對,例如 \App\Models\Something vs Models\Something vs \Something)。 我通常在我的課程中使用 PDO 以便 PHP 嘗試查看\App\PDO
我已經有了
ini_set('display_errors', 'ON');
ini_set('error_reporting', 'E_ALL | E_STRICT');
我有時在做的時候會注意到
$user = new User(); // when User should be located \App\User or App\User as I am in the root namespace, PHP does not trigger errors ... just give me a blank screen ...
你的兩條線都是錯誤的:
ini_set('display_errors', true);
ini_set('error_reporting', E_ALL | E_STRICT);
這些值不應該用引號引起來。
第二個參數中的單引號是錯誤的。 它被評估為0。
ini_set('error_reporting', 'E_ALL | E_STRICT');
// same as:
ini_set('error_reporting', 0);
有關可以作為第二個參數傳遞的內容的一些有效示例,請參閱此頁面。
一旦你修復它,你會得到:
PHP Fatal error: Class 'Foo' not found
你的代碼應該是這樣的:
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL | E_STRICT);
此外,請確認是否允許您通過ini_set()
更改 php 設置,因為您可能認為您正在更改display_errors
和error_reporting
,但您可能不允許這樣做。 也就是說,盡管您的代碼執行,但解析器不會考慮您的設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.