[Laravel 6.x]Route::get()で設定したURLパラメーターの取得
Laravel6.xでRoute::get('/path/to/{id}')で設定したidの取得方法について。
HOME>WEBプログラム覚書>[PHP] is_a() と Zend_Loader_Autoloader::autoload()
Zend_Loader_Autoloader::autoload()を利用していて、is_a()の第1引数がパスっぽいものだとWarningが発生する。
キャストするのもいいけど、is_a()はバージョンによってE_STRICTで引っかかったり挙動が変わったりといろいろあるみたいなので、PHP 5.1.0より上であればinstanceofを利用した方がよさそう。
注意すべき落とし穴があります。PHP 5.1.0 より前のバージョンでは、 instanceof は、クラス名が存在しない場合に __autoload() をコールしていました。 さらに、クラスが読み込めなかった場合に致命的なエラーが発生していました。 この問題の回避策としては、動的なクラス参照を使用するか、 クラス名を含む文字列変数を使用します。
instanceof 演算子は PHP 5 から使用可能になりました。 それ以前には is_a() が使用されていましたが、 現在は is_a() は推奨されておらず、 instanceof の使用が推奨されています。 PHP 5.3.0 以降、is_a() は非推奨ではなくなったことに注意しましょう。
大きな修正点として、is_a関数の挙動が挙げられています。autoload機能を使ってクラスをロードしている場合への対応と思われますが、PHP5.3.7以降挙動が変更されていたのですが、PHP5.3.9RC1ではデフォルトの挙動を元に戻したようです。
投稿日 | 2012年1月 7日 21:52 |
---|---|
カテゴリ | PHP |
タグ | Zend Framework | エラーコード | 関数 |
トラックバック URL | http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1250 |
コメント