Скажем, у меня есть такой класс:
class Person
{
private $value;
public function __construct()
{
$this->value = 'new';
}
public static function find( $ident )
{
$person = new Person();
$person->value = 'old';
return $person;
}
}
Как я могу предотвратить запуск или отклонение конструктора, чтобы он не выполнялся сам по себе, если я вызываю статическую функцию find
?
Контекст моего примера идентичен контексту моего реального кода, за исключением того, что реальный код имеет идеальное количество служебных данных настолько долго, что когда-либо выполняется только одна из функций. (Многие объекты могут существовать в одно и то же время, однако, если статическая функция вызывает метод __construct
, тогда слишком много служебной информации и времени загрузки).
Оба должны иметь public
аксессоров.