Всем привет!
Буквально несколько дней назад Taylor Otwell, разработчик широко известного и, наверное, наиболее популярного в западном мире фреймворка Laravel, написал в своем твиттере, что помимо Laravel он готовит к выпуску кое-что еще, чем, разумеется, заинтриговал подписчиков.
What if Laravel 5.1 isn’t the only framework I’m preparing for release? http://t.co/7oHVioDRYr
— Taylor Otwell (@taylorotwell) 7 апреля 2015
Долго ждать не пришлось. Уже через неделю был представлен Lumen, микрофреймворк на основе компонентов Laravel. Почему он так называется — «Lumen»? Потому что все компоненты Laravel, как известно, носят название Illuminate.
Что же собой представляет этот фреймворк? Давайте посмотрим.
composer create-project laravel/lumen --prefer-dist
Размер чистого фреймворка на диске — что-то около 10 МБ. Не такой уж он и маленький! Тем не менее, это не мешает ему называться «микро», поскольку «микро» — это не только размер.
Внутри — компоненты Laravel 5. Модели Eloquent, авторизация Auth, шаблоны Blade, а также валидация, кэш, middleware, DIC и прочее.
Роутинг основан на библиотеке FastRoute, что позволяет ему быть довольно шустрым.
Тэйлор заявляет скорость бо́льшую, чем у текущей версии Slim, и уж еще бо́льшую, чем у Silex.
Впрочем, третья версия Slim, которая еще не вышла, но уже потихоньку готовится, также пишется на роутере FastRoute.
Синтаксис классичен для микрофреймворков на PHP:
$app->get('user/{id}', function($id) {
return User::findOrFail($id);
});
Также поддерживаются классические контроллеры:
$app->get('user/{id}', 'UserController@showProfile');
Больше кода в разделе документации Lumen.
Заключение
Что ж, еще один микрофреймворк? Так точно. Но предполагаю, он не затеряется среди массы других фреймворков и будет весьма популярным. У Тэйлора есть все мощности, чтобы добиться этого. Если он останется невредим, конечно.
Автор: plashenkov