この例では、期待どおりに致命的なエラー「致命的なエラー:オブジェクトコンテキストにないときに$thisを使用する」が発生します
class ctis_parent{
public function objFunc(){
var_dump('Called succes');
}
public static function call(){
$this->objFunc();
}
public function __construct(){
self::call();
}
}
new ctis_parent();
しかし、call()メソッドの定義から静的キーワードを削除してもすべて正常に機能する場合は、なぜですか?
class ctis_parent{
public function objFunc(){
var_dump('Called succes');
}
public function call(){
$this->objFunc();
}
public function __construct(){
self::call();
}
}
new ctis_parent();
//string 'Called succes' (length=13)