新しいキーワードを使用する式が連鎖実行で使用されるために括弧が必要なのはなぜですか?たとえば、AS3では、括弧は必要ありません。PHPでは、これはインタプリタの文体的な補助ですか、それとも私が気付いていない大きな理由がありますか?実行順序の優先順位の問題ですか?
PHPでのコンストラクターチェーン
この質問のおかげで、PHPでのオブジェクト関数呼び出しを使用したコンストラクターのチェーン化の方法を理解しました…</ p>
オブジェクト定義
余談ですが、どうやら、魔法のメソッド__construct
は常に暗黙的に戻り$this
、明示的に返す場合$this
(またはそれに関しては何か)、エラー/警告/例外は発生しません。
class Chihuahua
{
private $food;
function __construct( $food )
{
$this->food = $food;
}
function burp()
{
echo "$this->food burp!";
}
}
作品
(new Chihuahua('cake'))->burp();
動作しません(しかし、動作したいのですが)
new Chihuahua('cake')->burp();