@Tsybinn

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽