書いたインターンがいます
$this->method(ct);
それ以外の
$this->method('ct');
これはエラーをスローしませんが、私はそれをしたいです。どのように?
私はPHPの推測が好きではありません。
書いたインターンがいます
$this->method(ct);
それ以外の
$this->method('ct');
これはエラーをスローしませんが、私はそれをしたいです。どのように?
私はPHPの推測が好きではありません。
Turn on PHP error reporting with error_reporting(E_ALL)
so that all warnings and errors are reported. From there, you can make your own error handling method to catch these warnings/errors and do with them what you want instead of them just being piped out to the output. A good example of an error handling method is right here http://php.net/manual/en/errorfunc.examples.php
Cheers.
EDIT: In fact, a custom error handling method will handle all errors whether they are being reported or not, so the error_reporting
line would be superfluous. Check out that link.
PHP が未定義の定数を値として定数の名前を持つ文字列定数として扱うことは文書化された動作です。したがって、このコードは実際に機能します。
ただし、警告が発行されますが、その警告は無視される場合があります。呼び出しerror_reporting
て、出力するエラーの種類を設定できます。error_reporting
php.ini で設定することもできます。
本番環境とは別の開発環境があるとします。もしそうなら、あなたの開発環境とテスト環境ではそれらのレポートを最高レベルに設定し、本番環境ではそれを少し低く設定します. 開発中はこれらのメッセージに直面したいと考えていますが、本番環境ではおそらくログに記録したいでしょうが、ユーザーには表示したくありません。
display_errors
ディレクティブも見てください。
メソッドで、引数が文字列かどうかをテストします
function method($arg){
if (!is_string($arg)){
throw new exception("argument must be a string. ".get_type($arg)." given");
}
}