Как понять структуру laravel?

Кто может помочь с пониманием структуры Ларавела 5.1. Я не могу понять, что такое фасады, контейнеры, сервиспровайдеры. Как они расположены в неймспейсах.
Если можно ссылки на статьи. Можно англ. Или кто-то в кратце на понятном языке напишите.
  • Вопрос задан
  • 3547 просмотров
Решения вопроса 1
ajaxtelamonid
@ajaxtelamonid
Laravel
Про неймспейсы надо почитать отдельно, в спецификации языка. Упрощенно говоря, это способ связать класс с файлом в файловой системе. Не нужно инклюдить файл, просто обращаешься по неймспейсу к классу, файл сам инклюдится.

Фасад - это способ к некому классу обратиться как к статическому. Для этого при "создании" (точнее регистрации) фасада регистрируется код создания экземпляра класса и дальше при вызове SomeClass::method() фреймворк создает класс SomeClass при помощи этого кода и вызывает метод method(). laravel.su/docs/5.0/facades

Сервис-провайдер - это класс, который осуществляет инициализацию некоторой части приложения Laravel - регистрацию фасадов, папки вьюх, конфигов, в общем, всего подобного. Хватило бы одного сервис-провайдера, но их много, потому что модуль, пакет или логическую часть приложения удобнее инициализировать в отдельном классе, а не дописывать все в существующий. laravel.su/docs/5.0/providers

Сервис-контейнер Laravel, при помощи которого (а не при помощи оператора new) создаются все классы во фреймворке, по сути не отличается от такого же фальконовского: laravel.su/docs/5.0/container . Он нужен для реализации DI, т.е. при создании некоторого класса, например контроллера, проходить по аргументам методов, смотреть, какие там подаются классы на вход, создавать экземпляры этих классов и собственно подавать их на вход.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
mzcoding
@mzcoding
Web-Разработка
Вам нужно не Ларавел понимать, а почитать про паттерны и изучить/понять как работает ООАрхитектура.
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
так Laralvel же хвалится своей документацией

типа https://laravel.ru/docs/v5/facades

но в Фальконе мне в свое время показалось доходчивее

https://docs.phalconphp.com/ru/latest/reference/di...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы