可能性の重複:
Instance as a static class propertyクラスプロパティで「new」キーワードを使用できないのはなぜですか?
私は属性としてクラスのオブジェクトを作成する方法について問題を得ました。
include 'Bar.php';
class Foo()
{
private $bar = new Bar();
}
解析エラーが発生します。しかし、私が$ barをサイト外クラスに入れたとき
include 'Bar.php';
class Foo()
{
//private $bar = new Bar();
}
$bar = new Bar();
構文エラーはありません。完璧に動作します。だから問題は何ですか。私はJavaの知識をPHPに移植しました。時には、それはとても混乱します。
それは不可能です。なぜ、それをチェックアウトするのかについての長い議論があります:[なぜPHP属性は関数を許さないのですか?](@stackoverflow.com/q/3960323) –
@Pekka:それは分かりませんでした。どうも! –
詳細:http://stackoverflow.com/search?q=[php]+body%3A%22initialization+must+be+a+constant+value%22 – Gordon