Если не Drupal 8, то что?Обзор Laravel 5
Кто я?Алексей Балабошко
Делаю сайты с 2001 года
Drupal 4, 5, 6, 7и промежуточные версии
Разработка поддержка
разработка — месяцы, поддержка несколько лет
Переход с версии на версию
трудоёмкий процесс
Сайт — набор страниц
контент
Сайт — приложениелогика + пользователи
Клиентнам надо его удовлетворять
Гибкостьсвои модули для кастомизации
Развитие проектакастом-модули разрастаются
Дополнительные библиотеки, классы
В попытке «встать на плечи гигантов» подключаем всё больше и больше чужого кода к нашему модулю.
Прошло два годаlegacy
https://www.flickr.com/photos/anataman/114238583/
4⇨5⇨6⇨7https://en.wikipedia.org/wiki/File:Konark_Sun_Temple_Wheel.jpg
ТехнологииOOP, новый шаблонизатор,
сторонние библиотеки, composer
MVC-frameworkодин из
Как Drupal, но не как Drupal
Drupal — контент, роли, черновики, Laravel — логика, гибкость, программирование.
Системные требования
PHP >= 5.6.4 OpenSSL PHP Extension
PDO PHP Extension Mbstring PHP Extension Tokenizer PHP Extension
XML PHP Extension
$ composer global require "laravel/installer"
$ laravel new website
.envвсе пароли, логины и адреса храняться в файле .env в корне проекта,
а в config-файлах — только ссылки на переменные окружения
Вместо CCK — бумага и ручкаесли нужна база данных, то её структуру надо
спроектировать самому
Миграцииклассы, в которых мы описываем изменения
в структуре базы данных
RollbackМиграции можно «откатить»
контроль над структурой базы данных
Модели Eloquentкак данные себя ведут
и как они связаны с другими данными (ActiveRecord)
Путикак наше приложение / сайт будет узнавать по какому URL что надо сделать (вызвать контроллер, или отдать строку)
Логика, контроллерыкакие данные взять что с ними сделать, в каком
шаблоне вернуть (можно прямо отсюда отдать JSON)
Шаблоны .bladeв шаблонизаторе есть наследование, циклы, проверки
<?= писать не надо ?>
Laravel != CMSЕсли нужна «админка», надо её строить самому
(это не больно)
SleepingOwl Adminhttps://github.com/LaravelRUS/SleepingOwlAdmin
http://sleepingowladmin.ru
Форма в CMSвид изнутри
Форма в CMSвид «снаружи»
Интерфейс CMSbootstrap :-)
отсутствует избыточность
в интерфейсе CMS — только те «кнопки», которые мы сами специально сделали
Спасибоalex.balaboshko@gmail.com
@validator_ru
BUZZfriends.ru