Как при создании объекта класса методом 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();
  • Вопрос задан
  • 72 просмотра
Решения вопроса 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 использовать переменную можно пример
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы