Что такое Laravel

55 454 просмотра 1 комментарий 5 января 2013

Laravel это чистый и хороший PHP фреймворк. Освобождает вас от громоздкого и запутанного кода, он помогает создавать замечательные веб приложения, используя простой и выразительный синтаксис. Разработка должна быть творческим и интересным процессом, а не приносить неудобства. Наслаждайтесь.

Laravel это PHP 5.3 фреймворк, который описывает себя как "Фреймворк для Веб мастеров" ("A Framework For Web Artisans"). По мнению его автора,  Тейлора (Taylor Otwell), Laravel старается доставить радость от программирования. Он прост, элегантен и что очень важно - хорошо документирован.

Исходя из моего опыта работы с фреймворками я соглашусь со всеми этими пунктами.

  • Простой - функционал Laravel является простым для понимания и использования. Если вам нравится простота и легкость CodeIgniter, вы получите удовольствие и от Laravel
  • Элегантный - большинство функций Laravel превосходно работают, не требуя дополнительной настройки. Опираются на общепринятые стандарты написания кода, делая его интуитивно понятным.
  • Документация - документация Laravel закончена, и постоянно обновляется. Документация обновляется до того как выйдет новая версия фреймворка даже)) Хотя конечно не очень удобная навигация по ней, навигация как у CodeIgniter для меня удобнее.

Что делает Laravel особенным?

Как и любой PHP фреймворк, Laravel имеет множество функций, которые выделяются среди других. Вот некоторые, которые я считаю наиболее важными.

Пакеты (Bundles)

Пакеты (bundles) в Laravel это как PEAR для PHP. Они являются дополнениями, которые вы можете скачать и подключить к Laravel. В настоящий момент существует довольно много общедоступных пакетов в репозитории пакетов Laravel который постоянно пополняется. Laravel позволяет использовать командную строку для быстрой установки пакетов.

Один из наиболее популярных пакетов называется Bob - полезный инструмент для разработки в Laravel, позволяющий вам генерировать различные файлы и классы, такие как модели, контроллеры, тесты, миграции. Функционал вполне схож с тем что может используется в Rails генераторах.

Для установки Боба, используя командную строку нужно выполнить команду:

php artisan bundle:install bob

Eloquent ORM

Eloquent ORM является самой передовой ActiveRecord реализацией, доступной для PHP

Eloquent ORM безусловно одна из лучших реализаций ORM с которыми мне доводилось работать. Подобно Doctorine ORM позволяет  сделать любую работу с базой данный очень простой. Можно с легкостью выполнять CRUD операции над вашей базой данных. А так же создавать различные связи между таблицами.

Вот пример в котором выводятся Email всех пользователей.

$users = User::all();

foreach ($users as $user)
{
     echo $user->email;
}

Просто, не правда ли? Учитывая что никаких функций в классе User мы не писали)

Миграции

Миграции базы данных являются весьма полезны для любого проекта, особенно для проектов с несколькими разработчиками, позволяя иметь последнюю версию базы данных у всех разработчиков (был опыт отправки на e-mail SQL запросов и ручного применения их в базе данных, для поддержания последней версии). В Laravel для этого достаточно выполнить одну команду в командной строке. У Laravel есть собственный конструктор таблиц, позволяющий быстро писать изменения в базу данных.

Вот пример взятый из документации.

Schema::table('users', function($table)
{
    $table->create();
    $table->increments('id');
    $table->string('username');
    $table->string('email');
    $table->string('phone')->nullable();
    $table->text('about');
    $table->timestamps();
});

Redis

Redis это ключ-значение(key-value) база данных. Подобная CouchDB и MongoDB. Он используется многими веб-приложениями для хранения не реляционных данных, в отличие от обычных баз данных (например MySQL), в которых обычно хранятся записи связанные друг с другом. Redis в Laravel сделан на столько хорошо, что я даже не знаю как описать, настолько легко настроить и запустить на сколько это возможно.

UPD от 2015.11.19

Все что написано в статье очень сильно устарело, т.к. рассматривалась третья версия фреймворка, а сейчас актуальна версия 5.1. Но фреймворк хорош, правда он уже не такой простой как был, и новичкам его будет не очень просто освоить на мой взгляд.

1 комментарий

Полезный фреймворк, все функции описаны. Стандартными средствами, через Laravel Localization сделал товарищу выпадающее меню с выбором ленгвич =)

Вы можете оставить комментарий