我想知道如果我可以以某種方式分配新的變量,而無需構造。在不使用構造函數的情況下分配新的類變量?
爲了設置初始私有類變量,在每個類上創建構造函數似乎相當大的矯枉過正。
這裏是我的就是我想達到
<?php
class MyClass {
public function DoSomething() {
echo '1';
}
}
class MySecondClass {
private $obj = new MyClass(); // Error
/*
// This works, but I don't like it, I think it's total overkill
function __construct() {
$this->obj = new MyClass();
}
*/
public function PrintOne() {
$this->obj->DoSomething();
}
}
$class = new MySecondClass();
$class->PrintOne();
正是如此它是完全清楚,這裏的錯誤信息
語法錯誤,意想不到的「新」(T_NEW)在第10行
例子
你不能初始化一個類變量作爲運行時調用的結果,你只能使用靜態值。你的構造方法很好。 –
構造初始變量是構造函數的全部目的。你爲什麼認爲這是過度殺傷力? –
@ dev-null-dweller來自'C#'我習慣於不這樣做。這就是全部,沒有任何特別的原因。 – sed