Size: a a a

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

2020 August 20

SG

Sergey Gerasimov in Laravel для начинающих
Александр С
Ребят подскажете как мне соединить Роуты в группу по api, сейчас они работают с вьюхой, но хотелось бы сгруппировать, если я их вставляю в routeмидлв..- то мне юзеры в таблицу на сайт не приходят и ошибок нет, что Где изменить? Малость не допонимаю
Мы тоже малость не понимаем что именно ты хочешь. Попробуй объяснить кодом
источник

АС

Александр С... in Laravel для начинающих
Sergey Gerasimov
Мы тоже малость не понимаем что именно ты хочешь. Попробуй объяснить кодом
Middleware auth:api вынести в группу маршрутов админки { тут маршруты} сейчас в контролере auth:api и там просто роуты. По феншую сделать,
источник

SG

Sergey Gerasimov in Laravel для начинающих
Александр С
Middleware auth:api вынести в группу маршрутов админки { тут маршруты} сейчас в контролере auth:api и там просто роуты. По феншую сделать,
Можно вынести в отдельный файл и через RouteServiceProvider подключить
Можно в файле api.php создать группу и в ней прописывать
источник

SG

Sergey Gerasimov in Laravel для начинающих
Смотря что именно требуется
источник

АС

Александр С... in Laravel для начинающих
Sergey Gerasimov
Можно вынести в отдельный файл и через RouteServiceProvider подключить
Можно в файле api.php создать группу и в ней прописывать
Вот тут самый низ, и все без фанатизма
источник

SG

Sergey Gerasimov in Laravel для начинающих
Александр С
Вот тут самый низ, и все без фанатизма
Не знаешь как это сделать или?..
источник

АС

Александр С... in Laravel для начинающих
Нет, я добавил в-группу но ниче пришло
источник

SG

Sergey Gerasimov in Laravel для начинающих
Александр С
Нет, я добавил в-группу но ниче пришло
Покажи код, а то у тебя @codanet
источник

АС

Александр С... in Laravel для начинающих
Не за компом, Ща на листочке попробую написать😬
источник

ST

Svjatoslav Torn in Laravel для начинающих
Привет, кто работает с Livewire? Как вы внедряете реализацию интерфейса в компонент? Вместо метода __contruct есть метод mount(), в него делаю инъекцию интерфейса (в сервис провайдере bind'ится нужная реализация), и присваиваю private свойству (private потому что public нельзя (livewire *rofl*). В mount'е методы реализации доступны, а в соседних методах null (то есть не присваивается). Как использовать паттерн репозиторий в livewire? Интересно я понятно объяснил?))🙈
источник

SG

Sergey Gerasimov in Laravel для начинающих
Svjatoslav Torn
Привет, кто работает с Livewire? Как вы внедряете реализацию интерфейса в компонент? Вместо метода __contruct есть метод mount(), в него делаю инъекцию интерфейса (в сервис провайдере bind'ится нужная реализация), и присваиваю private свойству (private потому что public нельзя (livewire *rofl*). В mount'е методы реализации доступны, а в соседних методах null (то есть не присваивается). Как использовать паттерн репозиторий в livewire? Интересно я понятно объяснил?))🙈
Значит объекты разные
источник

SG

Sergey Gerasimov in Laravel для начинающих
Svjatoslav Torn
Привет, кто работает с Livewire? Как вы внедряете реализацию интерфейса в компонент? Вместо метода __contruct есть метод mount(), в него делаю инъекцию интерфейса (в сервис провайдере bind'ится нужная реализация), и присваиваю private свойству (private потому что public нельзя (livewire *rofl*). В mount'е методы реализации доступны, а в соседних методах null (то есть не присваивается). Как использовать паттерн репозиторий в livewire? Интересно я понятно объяснил?))🙈
Инъекцию через конструктор сделай
источник

ST

Svjatoslav Torn in Laravel для начинающих
Sergey Gerasimov
Инъекцию через конструктор сделай
Добавление конструктора сразу ломает все " __construct is probably missing Component::__construct call.". __construct тут не предусмотрен, в доке написано что dependency injection делаем в mount(). Еще че нить попробую
источник

SG

Sergey Gerasimov in Laravel для начинающих
Svjatoslav Torn
Добавление конструктора сразу ломает все " __construct is probably missing Component::__construct call.". __construct тут не предусмотрен, в доке написано что dependency injection делаем в mount(). Еще че нить попробую
А если добавить parent::__construct()?
источник

ST

Svjatoslav Torn in Laravel для начинающих
Sergey Gerasimov
А если добавить parent::__construct()?
Не проходит. В общем выяснил что в методе render() реализация доступна и прекрасно работает, значит присвоена приватному свойству. Но становится null в методах которые вызываются с фронта. Я хз :)
источник

SG

Sergey Gerasimov in Laravel для начинающих
Svjatoslav Torn
Не проходит. В общем выяснил что в методе render() реализация доступна и прекрасно работает, значит присвоена приватному свойству. Но становится null в методах которые вызываются с фронта. Я хз :)
Значит mount вызывается только при получении данных, а при сохранении не вызываются
источник

ST

Svjatoslav Torn in Laravel для начинающих
Sergey Gerasimov
Значит mount вызывается только при получении данных, а при сохранении не вызываются
Да, это так. mount() отрабатывает только при первом рендеринге. Стремно. У livewire есть хуки, но они не поддерживают DI. Что если сделаю класс сервиса (в сервисе через конструктор буду делать иньекцию интерфейса), подключу его в компоненте "use" и буду использовать. С одной стороны лишний слой, но вроде выход, в любой момент меняю реализацию и ничего не должно ломаться.
источник

SG

Sergey Gerasimov in Laravel для начинающих
Svjatoslav Torn
Да, это так. mount() отрабатывает только при первом рендеринге. Стремно. У livewire есть хуки, но они не поддерживают DI. Что если сделаю класс сервиса (в сервисе через конструктор буду делать иньекцию интерфейса), подключу его в компоненте "use" и буду использовать. С одной стороны лишний слой, но вроде выход, в любой момент меняю реализацию и ничего не должно ломаться.
А в storeCreate тоже DI не поддерживается?
источник

ST

Svjatoslav Torn in Laravel для начинающих
Sergey Gerasimov
А в storeCreate тоже DI не поддерживается?
public function storeCreate(OfficeLoggerInterface $officeLogger)  - ошибка Too few arguments to function App\Http\Livewire\Console\Manage\Company\Office::storeCreate(), 0 passed in Office.php on line 129 and exactly 1 expected. Видимо не поддерживает
источник

ST

Svjatoslav Torn in Laravel для начинающих
Sergey Gerasimov
А в storeCreate тоже DI не поддерживается?
Создал issue на гитхабе🤨 Что скажут разработчики))))
источник