以下は PHP 5.3 では機能しますが、PHP 5.4.10 では機能しません。
throw new Custom_Exception();
class Custom_Exception extends Exception {}
PHP 5.4.10 は、次の致命的なエラーで応答します。
クラス 'Custom_Exception' が見つかりません ...
誰かが理由を知っていますか?
ps クラス定義を throw ステートメントの上に移動すると修正されます。
以下は PHP 5.3 では機能しますが、PHP 5.4.10 では機能しません。
throw new Custom_Exception();
class Custom_Exception extends Exception {}
PHP 5.4.10 は、次の致命的なエラーで応答します。
クラス 'Custom_Exception' が見つかりません ...
誰かが理由を知っていますか?
ps クラス定義を throw ステートメントの上に移動すると修正されます。
コードを test.php というファイルに入れ、php-5.4.10をダウンロードしました。
私が実行すると:
php -c php.ini-development -f test.php
次の出力が表示されます。
PHP Fatal error: Uncaught exception 'Custom_Exception' in test.php:3
Stack trace:
#0 {main}
thrown in test.php on line 3
Fatal error: Uncaught exception 'Custom_Exception' in test.php:3
Stack trace:
#0 {main}
thrown in test.php on line 3
設定に問題があると思います。コマンドラインからテストしていますか?
編集:
また、両方のバージョンの zend_compile.c で do_bind_inherited_class を比較しました。
特性のサポートのみを追加したようです。
私の答えは次のとおりです。いいえ、態度が変わったとは思いません。