Size: a a a

Laravel для начинающих

2020 July 03

SC

Sergey Chizhik in Laravel для начинающих
А где тут собственно DI?
источник

SG

Sergey Gerasimov in Laravel для начинающих
Vladimir Yefremov
я пробовал не создавать его в конструкторе, а только получать в методе - ошибка

не пойму - как дать ему (методу) класс, из которого можно создать сколько надо объектов?
Основы PHP почитать?
источник

S

Sergo in Laravel для начинающих
Vladimir Yefremov
я пробовал не создавать его в конструкторе, а только получать в методе - ошибка

не пойму - как дать ему (методу) класс, из которого можно создать сколько надо объектов?
вы методу передаете не "класс", а объект
источник

VY

Vladimir Yefremov in Laravel для начинающих
Sergo
в конструкторе у вас мягко говоря не совсем DI )
ну в конструкторе никакого ДИ...

я хотел ДИ в методе termsDefinition()
источник

VY

Vladimir Yefremov in Laravel для начинающих
Sergo
вы методу передаете не "класс", а объект
да,

а как класс передать? и откуда?
источник

SG

Sergey Gerasimov in Laravel для начинающих
Vladimir Yefremov
ну в конструкторе никакого ДИ...

я хотел ДИ в методе termsDefinition()
Так метод нужно вызвать через контейнер, например
источник

SG

Sergey Gerasimov in Laravel для начинающих
Но всё равно не будет разным
источник

S

Sergo in Laravel для начинающих
Vladimir Yefremov
да,

а как класс передать? и откуда?
никак) класс - это то что существует пока вы смотрите на код
источник

SG

Sergey Gerasimov in Laravel для начинающих
Vladimir Yefremov
что-то у меня DI не срослось....

    public function __construct()
   {
       $this->termsDefinition(new TermStdClass());
   }

   protected function termsDefinition(TermStdClass $termStdClass)
   {
       $this->termOne = $termStdClass;
       $this->termOne->name = 'Слагаемое 1';

       $this->termTwo = $termStdClass;
       $this->termTwo->name = 'Слагаемое 2';
   }
```

$this->termOne
и
$this->termOne
получается один и тот же объект
   public function __construct()
   {
       $this->termsDefinition(TermStdClass::class);
   }

   protected function termsDefinition(string $termStdClass)
   {
       $this->termOne = new $termStdClass;
       $this->termOne->name = 'Слагаемое 1';

       $this->termTwo = new $termStdClass;
       $this->termTwo->name = 'Слагаемое 2';
   }
источник

YH

Yurii Horbal in Laravel для начинающих
Sergo
никак) класс - это то что существует пока вы смотрите на код
Если отвернулся то пропадает?)
источник

АО

Амантай Орынбаев... in Laravel для начинающих
Добрый день, я хочу сделать real time chat, но в инете нету(не нашел) инфы про дб(какие таблицы должны быть и тд). Вот можете с этим помочь? Мне достаточно сделать peer to peer)
источник

ДК

Дмитрий Кожанов... in Laravel для начинающих
Мануалов по созданию чатов вагон и маленькая тележка
источник

Gt

Galèriarch the Koban... in Laravel для начинающих
Амантай Орынбаев
Добрый день, я хочу сделать real time chat, но в инете нету(не нашел) инфы про дб(какие таблицы должны быть и тд). Вот можете с этим помочь? Мне достаточно сделать peer to peer)
Если возникают такие вопросы, возьмите обычную реляционку, вам хватит.
источник

k

kickuass in Laravel для начинающих
Амантай Орынбаев
Добрый день, я хочу сделать real time chat, но в инете нету(не нашел) инфы про дб(какие таблицы должны быть и тд). Вот можете с этим помочь? Мне достаточно сделать peer to peer)
где хранятся сами чаты, и где хранятся сообщения из этих чатов , этого более чем достаточно
источник

VY

Vladimir Yefremov in Laravel для начинающих
имеет ли какое-то значение /преимущество, если я изменю в этом коде $this на self::
```
class TermStdClass extends \stdClass
{

    public function __construct()
   {
       $this->name = '';
       $this->isError = false;
       $this->value = 0;
       $this->isFloat = false;
       $this->integers = [];
       $this->decimals = [];
   }
}
???
источник

ЕК

Егор Карась... in Laravel для начинающих
Не нужно
источник

ЕК

Егор Карась... in Laravel для начинающих
self это для статики
источник

А

Александр in Laravel для начинающих
Vladimir Yefremov
имеет ли какое-то значение /преимущество, если я изменю в этом коде $this на self::
```
class TermStdClass extends \stdClass
{

    public function __construct()
   {
       $this->name = '';
       $this->isError = false;
       $this->value = 0;
       $this->isFloat = false;
       $this->integers = [];
       $this->decimals = [];
   }
}
???
Значение имеет. Сейчас этот код заполняет экземпляр объекта TermStdClass, а если поменяете на self, то заполнить ничего нельзя будет, т.к. заполнять сам класс нельзя
источник

ЕК

Егор Карась... in Laravel для начинающих
Vladimir Yefremov
имеет ли какое-то значение /преимущество, если я изменю в этом коде $this на self::
```
class TermStdClass extends \stdClass
{

    public function __construct()
   {
       $this->name = '';
       $this->isError = false;
       $this->value = 0;
       $this->isFloat = false;
       $this->integers = [];
       $this->decimals = [];
   }
}
???
А зачем так?

можно же (object)['name'=>'','isError'=>false]
источник

ЕК

Егор Карась... in Laravel для начинающих
И будет точно такой же stdClass
источник