Lumen — новый PHP-микрофреймворк от разработчика Laravel

в 7:53, , рубрики: Illuminate, laravel, Lumen, php, Веб-разработка, микрофреймворк, фреймворки, метки:

Lumen — новый PHP-микрофреймворк от разработчика Laravel - 1

Всем привет!

Буквально несколько дней назад Taylor Otwell, разработчик широко известного и, наверное, наиболее популярного в западном мире фреймворка Laravel, написал в своем твиттере, что помимо Laravel он готовит к выпуску кое-что еще, чем, разумеется, заинтриговал подписчиков.

Долго ждать не пришлось. Уже через неделю был представлен Lumen, микрофреймворк на основе компонентов Laravel. Почему он так называется — «Lumen»? Потому что все компоненты Laravel, как известно, носят название Illuminate.

Что же собой представляет этот фреймворк? Давайте посмотрим.

composer create-project laravel/lumen --prefer-dist

Размер чистого фреймворка на диске — что-то около 10 МБ. Не такой уж он и маленький! Тем не менее, это не мешает ему называться «микро», поскольку «микро» — это не только размер.

Внутри — компоненты Laravel 5. Модели Eloquent, авторизация Auth, шаблоны Blade, а также валидация, кэш, middleware, DIC и прочее.

Роутинг основан на библиотеке FastRoute, что позволяет ему быть довольно шустрым.
Тэйлор заявляет скорость бо́льшую, чем у текущей версии Slim, и уж еще бо́льшую, чем у Silex.

Lumen — новый PHP-микрофреймворк от разработчика Laravel - 2

Впрочем, третья версия Slim, которая еще не вышла, но уже потихоньку готовится, также пишется на роутере FastRoute.

Синтаксис классичен для микрофреймворков на PHP:

$app->get('user/{id}', function($id) {
    return User::findOrFail($id);
});

Также поддерживаются классические контроллеры:

$app->get('user/{id}', 'UserController@showProfile');

Больше кода в разделе документации Lumen.

Заключение

Что ж, еще один микрофреймворк? Так точно. Но предполагаю, он не затеряется среди массы других фреймворков и будет весьма популярным. У Тэйлора есть все мощности, чтобы добиться этого. Если он останется невредим, конечно.

Автор: plashenkov

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js