Size: a a a

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

2020 January 23

AH

Andrey Helldar in Laravel для начинающих
Vasiliy Pivovarov
Спасибо 🙏 попробую сейчас адаптировать под себя
Обновил пример по линке. Добавил неймспейсы, вызов зависимостей и комменты разделяющие блоки.
Так будет проще понять что откуда берется.
источник

VP

Vasiliy Pivovarov in Laravel для начинающих
да, как раз хотел спросить где лучше хранить
источник

AH

Andrey Helldar in Laravel для начинающих
Vasiliy Pivovarov
да, как раз хотел спросить где лучше хранить
Еще обнови страницу. Добавил мелкую проверку на наследуемость :)
источник

AH

Andrey Helldar in Laravel для начинающих
Объявлять тип интерфейса в методе parse сервиса нельзя, т.к. при вызове в строках 70 и 71 получишь ошибку попытки засунуть строку вместо объекта.
Таким образом, мы обходим эту фичу на "внутреннюю" проверку внутри метода.
Юзать instanceOf также не стоит потому что он проверяет является ли сам метод этим инстансом, а вот is_subclass_of проверяет всю цепочку зависимостей, включая интерфейсы и если попытаться засунуть туда класс без интерфейса парсера, то метод бросит эксепшен, иначе соберет контейнер и вызовет метод парсера.
источник

AH

Andrey Helldar in Laravel для начинающих
Vasiliy Pivovarov
да, как раз хотел спросить где лучше хранить
Для удобства засунул в гист с разбитием по файлам: https://gist.github.com/andrey-helldar/83faf8a6ebe198811b70fc0584282481
источник

AH

Andrey Helldar in Laravel для начинающих
@livevasiliy, загляни еще раз по ссылке выше в гист.
Обновил максимально близко к твоему коду.
Я хз что ты держишь в $parseFile, поэтому в примере указал $excel = new YourExcelClass();
источник

VP

Vasiliy Pivovarov in Laravel для начинающих
@Helldar я могу в личку скинуть
источник

AH

Andrey Helldar in Laravel для начинающих
Особо не требуется. Это был риторический коммент)
источник

VP

Vasiliy Pivovarov in Laravel для начинающих
$parseFile это у меня интерфейс от которого у меня имплеминтируются адаптеры
источник

VP

Vasiliy Pivovarov in Laravel для начинающих
источник

AH

Andrey Helldar in Laravel для начинающих
Понял
источник

VP

Vasiliy Pivovarov in Laravel для начинающих
я делал по этой статье https://laravel.demiart.ru/adapter-design-pattern/
источник

AH

Andrey Helldar in Laravel для начинающих
Это годно когда ты на уровне конфига задаешь конкретное значение.
У тебя же требуется изменять его, т.к. вариант выбора адаптера приходит от юзера.
В данном случае лучше заменить это на https://gist.github.com/andrey-helldar/83faf8a6ebe198811b70fc0584282481#file-app-services-yourservice-php-L21-L23

Данный пример (не уверен на сколько точно - 99 или 100%) соответствует принципам SOLID.
источник

VP

Vasiliy Pivovarov in Laravel для начинающих
Andrey Helldar
Это годно когда ты на уровне конфига задаешь конкретное значение.
У тебя же требуется изменять его, т.к. вариант выбора адаптера приходит от юзера.
В данном случае лучше заменить это на https://gist.github.com/andrey-helldar/83faf8a6ebe198811b70fc0584282481#file-app-services-yourservice-php-L21-L23

Данный пример (не уверен на сколько точно - 99 или 100%) соответствует принципам SOLID.
Понял, спасибо ещё раз за огромную помощь
источник

AH

Andrey Helldar in Laravel для начинающих
Vasiliy Pivovarov
Понял, спасибо ещё раз за огромную помощь
U're welcome!
источник

ЯЗ

Яков Зверев in Laravel для начинающих
Ребята, скажите, а сколько максимум репозиториев можно делать одном аккаунте?(На GITHUB)
источник

SS

Serg Serdyuk in Laravel для начинающих
Яков Зверев
Ребята, скажите, а сколько максимум репозиториев можно делать одном аккаунте?(На GITHUB)
Unlimited repositories
https://github.com/pricing
источник

AH

Andrey Helldar in Laravel для начинающих
Яков Зверев
Ребята, скажите, а сколько максимум репозиториев можно делать одном аккаунте?(На GITHUB)
Безлимитно хоть публичных, хоть приватных.
Ограничения бесплатных - максимум 3 соработника на приватную репу.

По линке выше более подробная инфа.
источник

ЯЗ

Яков Зверев in Laravel для начинающих
Andrey Helldar
Безлимитно хоть публичных, хоть приватных.
Ограничения бесплатных - максимум 3 соработника на приватную репу.

По линке выше более подробная инфа.
Спасибо
источник

AH

Andrey Helldar in Laravel для начинающих
@livevasiliy, последняя ревизия. Чуть улучшил код с твоим ParseFileInterface

Кстати, в наше время называть интерфейсы интерфейсами уходит в лету.
Лучше именовать их контрактами, хотя, по факту, это те же яйца с видом сбоку.
источник