И народ ведется.routing: providing a very simple and expressive
middleware: provide a convenient mechanism
requests: request instance will automatically be injected
responses: will automatically be converted into an HTTP response by the framework
authentication: Laravel makes implementing authentication very simple.
authorization: Laravel also provides a simple way to organize authorization
billing: Laravel Cashier provides an expressive, fluent interface
cache: Laravel provides a unified API
collections: provides a fluent, convenient wrapper
Многим, в том числе и мне, очень нравится более читаемый "like simple English" код. Правда есть те, кому-то не нравится какими средствами это достигается.Если вчитаться в детали, отличий от yii2 - минимум
Ну так правильно, yii2 писался с оглядкой на laravel, у которого подобный апи был как минимум с 3-й версии.Если вчитаться в детали, отличий от yii2 - минимум.
Ты уже не первый раз упоминаешь о каком-то конфиге для апи. Такого нет, фишка как раз в том, что ты просто прописываешь в кнструкторе-методе инъекцию и она самостоятельно резолвится если есть такой класс, но если тебя надо подменить эту зависимость в тесте или по другой причине, то ты можешь сконфигурировтаь DI. Но по дефолту ты не делаешь лишьних движений и никаких апи. ВРоде в 3-й symfony добавили похожую функциональность.Ну, маппинг сервисов на объекты для инъекции вынесен в отдельный конфиг. Тот же индусский хренак-хренак и в productuin, только с фасадами. И зашкаливающим пафосом. Больше было только у MySQL, которые в документации ругали конкурентов.
Это Грик ознакомился с кодом девконфа там у меня интерфейсы к нужным классам биндятся. И это кстати более правильный подход. Просить интерфейс, а не реализацию.Ты уже не первый раз упоминаешь о каком-то конфиге для апи.
Боюсь показаться быдлом, но расскажи как правильностатические вызовы для AR вроде User::find
А в Yii нет IoC?она самостоятельно резолвится
Тем не менее, все самые именитые Ларавелевские авторы их используют, особенно при работе с моделями, видел в 3 книгах по 5ке. Сейчас читаю книгу о тестировании в Laravel 4, дак ее автор очень сильно хвалит фасады и говорит о том, что их неприятие у некоторых девелоперов связано с ассоциацией со "статикой". Пишет, что благодаря фасадам, очень удобно имитировать любой встроенный класс.Фасады не надо использовать, это мусор оставшийся с перехода от 3-й версии, где была просто статика, без LSB, просто до сиз пор в пару местах она осталась, да и доки не менялись в некоторых местах со времён той же 3-ки. Если видишь фасады или статические вызовы для AR вроде User::find, то надо сразу бить по рукам. Тут даже не проблема в фасадах, а в том, что это запах плохого знакомства с фреймворком и его современными фичами.
Там только SL. Не понимают всей радости жизни.А в Yii нет IoC?
Видимо так.Боюсь показаться быдлом, но расскажи как правильно
$user = new User();
$user->find(1);
return view('some.view');
Обычный инджектБоюсь показаться быдлом, но расскажи как правильно
function(User $user) {
return $uesr->find(1);
}
Да, имитировать можно, но зачем, если УЖЕ есть нормальный DI с инъекциями в контроллер, метотод, гибкой возможностью биндинга в зависимости от контекста.А в Yii нет IoC?
Тем не менее, все самые именитые Ларавелевские авторы их используют, особенно при работе с моделями, видел в 3 книгах по 5ке. Сейчас читаю книгу о тестировании в Laravel 4, дак ее автор очень сильно хвалит фасады и говорит о том, что их неприятие у некоторых девелоперов связано с ассоциацией со "статикой". Пишет, что благодаря фасадам, очень удобно имитировать любой встроенный класс.
Имитировать - я имел ввиду "мокить" при тестировании (mocking).Да, имитировать можно, но зачем, если УЖЕ есть нормальный
Сама зависимость там внутри статическая, раз позволяет писать User::find(). Отсюда вывод: бессмысленно требовать писать $user->find(42).Если видишь фасады или статические вызовы для AR вроде User::find, то надо сразу бить по рукам.