Интернет разработки: PHP, Symfony, C#, ASP.NET, Linux, Windows. При поддержке компании HotSupport.Ru
16
Авг
PHP, получение контекста в $this одного объекта в методе другого, через статический вызов
Posted by Jeka under Программирование
Сегодня случайно наткнулся на интересно поведение PHP о котором не знал.
Проверял для версий 5.2 и 5.3.
Хотя интерпретатор и ругается на нарушение стандарта, но работает.
Пример:
<?php
class Main{
public $property = "hello\n";
public function test()
{
@Test::nonStaticMethod(); // вызов не статического метода как статический
}
}
class Test{
public function nonStaticMethod()
{
echo $this->property;
}
}
$m = new Main();
$m->test(); // выведет hello
Данный код выведет строку «hello\n» из свойства $property класса Main.
Для каких нибудь хаков возможно пригодится.
