2017-02-21 4 views
-2

タイトルには非常に単純な質問があります。PHPで 'メンバー関数への呼び出し'を無効にしますか?

私はエラーを返すのではなく、PHPを動作させたいのですが、nullオブジェクトに対してメソッドを呼び出すと、別のnullが返されることがあります。

PHPは他の場所には何も気にしないようです。

それはあなたが、アレイから非存在キー取得する場合はnullを返します:

$foo = ['foo'=>'foo']; 
var_dump($foo['bar']); 

をそれは配列がnullの場合でも、nullを返します:

$foo = null; 
var_dump($foo['bar']); 

しかし、それは突然に深刻になりますオブジェクト!

+0

それはあなたの注意を喚起し、error_reportingを正しく設定した場合は警告を表示します。それは脇に:あなたが実際にオブジェクトを持っているのか、それともヌルだけであるのかを**チェックする開発者としてのあなたの仕事です。 –

+0

@FranzGleichmann開発者の仕事は、仕事を完了させるだけです。これが達成できない場合は、単にそれを言う。 – bijiDango

+0

アマチュアジョブはジョブを完了させることです。プロフェッショナルの仕事は仕事を*正しい*にすることです。単純な 'if($ foo!= null)'はそれほど難しいものではありません。 –

答えて

0

レポートを無効にすることなく、エラーを確認する必要があります。

if ($foo != null) { 
    var_dump($foo['bar']); 
} 
// or 
if(isset($foo['bar'])) { 
    var_dump($foo['bar']); 
} 
関連する問題