Как при создании объекта класса методом load добавить значение его свойства без ___construct?

Имеется класс myClass, метод load должен создавать объект этого класса и устанавливать значение свойства $property.
Если просто return(new myClass()) - создается объект с значением $property = null.
Если return(new myClass())->setProp("4545") - создается переменная с значением = null.

class myClass {
     public  $name;
     public  $property;

 public function setName($val){
       $this->name = $val;
     }
      public    function setProp($val){
        $this->property = $val;
    }


     public static function load (){
         return(new myClass())->setProp("4545");

     }
}

$test = new myClass();

$test2=myClass::load();
  • Вопрос задан
  • 75 просмотров
Решения вопроса 2
@402d
начинал с бейсика на УКНЦ в 1988
Можно модифицировать для цепочного синтаксиса метод
/**
     * @param $val
     * @return $this
     */
    public    function setProp($val){
        $this->property = $val;
        return $this;
    }


Или быть проще и в методе load использовать переменную
$instance = new MyClass() ; // Попутно Класс с большой буквы чтобы отличать от объекта созданного из него
$instance->setProp();
return $instance;
Ответ написан
@Tsybinn Автор вопроса
return $this; спасибо помогли!!!
Или быть проще и в методе load использовать переменную можно пример
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ad.ru Новосибирск
от 100 000 до 150 000 ₽
Директ Кредит Казань
от 70 000 до 120 000 ₽
от 80 000 до 150 000 ₽