Почему Laravel?
Laravel — мощная среда программирования для PHP, сфокусированная на гибкости и выразительности. Новички в программировании получат простоту разработки, обеспечиваемую самыми известными и легковестными фреймворками для PHP; более опытные разработчики оценят возможность структурировать код так, как этого не позволяют другие аналогичные библиотеки. Гибкость Laravel позволит вашей компании обновлять и изменять приложение в соответствии с требованиями, а его выразительность поможет вашей команде писать удобный для чтения и краткий код.
Преимущества
Вот лишь некоторые моменты, которые нам кажутся наиболее значимыми:
- Пакеты — система модулей Laravel. В хранилище пакетов уже есть множество интересных возможностей, которые вы с лёгкостью можете включить в своё приложение. Вы можете вручную установить пакет, скачав и распаковав его архив в папку bundles, либо используйте встроенный интерфейс командной строки «Artisan» для автоматической установки.
- Eloquent ORM — одна из самых продвинутых технологий ActiveRecord для PHP на сегодняшний день. Применяя ограничения к зависимостям полей («relationships») и вложенным активным загрузкам («eager loading») вы можете контролировать свои данные со всем удобством ActiveRecord. Eloquent поддерживает все методы объекта Fluent — интерфейса для создания запросов к базам данных.
- Логика приложения может работать на принципах MVC (контроллеры и представления), с которой многие разработчики уже знакомы, либо регистрируя маршруты напрямую — похожий подход используется в среде разработки Sinatra. Laravel разработан с тем, чтобы дать разработчику максимальную свободу для создания как небольших сайтов, так и обширных корпоративных ресурсов.
- Обратная маршрутизация позволяет создавать ссылки на именованные маршруты — для этого вы передаёте только его имя и Laravel автоматически создаёт нужный URL. Это позволяет вам позже изменить базовые адреса маршрутов, а Laravel сам обновит их в вашем коде.
- REST-контроллеры — оптимальное разделение GET— и POST-запросов в программной логике. Например, форма авторизации может генерироваться действием
PHPget_login()
, аPHPpost_login()
может принять её данные, проверить и либо переадресовать обратно на страницу формы с сообщением об ошибке, либо открыть домашнюю страницу вошедшего пользователя. - Автозагрузка классов позволяет забыть вам о поддержании карты классов и о подключении скриптов, когда они не используются. Хотите использовать библиотеку или модель? Не волнуйтесь о её доступности, просто используйте. Laravel возьмёт всё прочее на себя.
- Составители представлений («view composers») — функции обратного вызова, выполняемые при загрузке шаблона. Скажем, боковое меню в блоге, содержащее список случайно выбранных статей. Ваш составитель содержит только код для загрузки этого списка, так что всё, что нужно — это передать его шаблону для формирования страницы. Таким образом, вам не нужно помнить, что этот контроллер должен загрузить данные из модели для передачи в шаблон при том, что сам его контроллера никак к ним не относится.
- IoC-контейнер позволяет создавать новые объекты и оптимально работать с одиночками («singletons»). Это значит, что вам едва ли придётся кода-либо озаботится загрузкой сторонней библиотеки. Это также значит, что вы можете получить доступ к этим объектам из любого места вашего кода без необходимости разбираться с их зависимостями и особенностями загрузки.
- Миграции — система контроля версий структуры ваших баз данных, встроенная в ядро Laravel. Вы можете создавать и работать с ними через инструмент «Artisan». Как только другой разработчик вносит изменение в структуру БД вы можете обновить вашу локальную копию хранилища и интегрировать изменения. Теперь и у вас — последняя версия!
- Юнит-тесты — важная часть Laravel, который сам по себе содержит сотни тестов с тем, чтобы удостовериться в безопастности внесённых вами изменений. Именно поэтому выпуски Laravel можно считать одними из самых стабильных. Laravel также позволяет вам писать собственные юнит-тесты для вашего кода и выполнять их используя «Artisan».
- Автоматическое создание страниц («pagination») позволяет не заботиться о генерации страничных результатов в вашем коде. Вместо определения текущей страницы, получения полного числа записей в БД и создания LIMIT можно просто вызвать метод
PHPpaginate()
и сообщить Laravel, куда поместить результат в вашем шаблоне — Laravel позаботится об остальном. Страничный генератор разработан для простоты использования и изменения под любые нужды. Важно отметить, что просто потому, что Laravel может сделать всё это автоматически не значит, что вы не можете при необходимости сами вызывать нужные методы и настраивать их.
Выше — всего лишь несколько примеров отличия Laravel от других фреймворков для PHP. В настоящей документации освещены эти и многие другие вопросы.
Структура
Структура папок Laravel знакома для разработчиков других PHP-фреймворков. Вёб-приложения любого масштаба могут быть с лёгкостью созданы используя имеющуюся структуру так же, как и в других средах разработки.
Однако в Laravel также возможно создание уникальной структуры, разработанной специально для нужд отдельного проекта — это может быть особенно полезно при разработке крупных приложений — систем управления содержимым и других. Такая архитектурная гибкость — одно из уникальных отличий Laravel.
Сообщество
Laravel поддерживается быстро растущим сообществом программистов как на русскоязычном форуме, так и на англоязычном. Также на FreeNode существует 4929 англоязычный IRC-канал #laravel
Лицензия
Laravel — некоммерческий проект с открытым исходным кодом, распространяющийся под лицензией MIT.
Комментарии (1)
За ресурс глаза радуются!....админам Респ!