Laravel 4.2
Полный список изменений этой версии можно увидеть, выполнив команду php artisan changes в установленной версии 4.2 или посмотреть в файле изменений на Github. В это описание вошли только значительные улучшения и изменения данной версии.
Примечание: Во время разработки версии 4.2 многие небольшие исправления и улучшения были включены в различные подверсии Laravel 4.1. Поэтому не забудьте также ознакомиться со списком изменений Laravel 4.1!
Требование PHP 5.4
Laravel 4.2 требует PHP 5.4 или выше. Это обновлённое требование PHP позволяет нам использовать новые возможности PHP, такие как типажи, чтобы обеспечивать более выразительные интерфейсы для таких инструментов как Laravel Cashier. Также PHP 5.4 даёт преимущество в скорости и производительности по сравнению с PHP 5.3.
Laravel Forge
Laravel Forge (кузница) — новое веб-приложение для простого создания и управления
PHP-серверами в облаке по вашему выбору, включая inode, DigitalOcean, Rackspace и Amazon EC2. Поддерживая автоматическую настройку Nginx, доступ по ключам SSH, автоматизацию работы Cron, мониторинг серверов через NewRelic & Papertrail, «Push To Deploy» («нажми, чтобы развернуть»), настройку обработчика очереди Laravel, и многое другое, Forge предоставляет наиболее простой и доступный способ для запуска всех ваших приложений Laravel.
Сейчас установочный файл конфигурации Laravel 4.2 app/config/database.php по умолчанию настроен на использование Forge, что обеспечивает более удобное развёртывание свежих приложений на платформе.
Больше информации о Laravel Forge можно найти на официальном сайте Forge.
Laravel Homestead
Laravel Homestead (ферма) — официальное окружение Vagrant для разработки надёжных приложений на Laravel и PHP. Подавляющее большинство необходимых для коробок операций обрабатывается перед тем, как коробка подготавливается к распространению, что позволяет ей загружаться чрезвычайно быстро. Homestead включает в себя Nginx 1.6, PHP 5.5.12, MySQL, Postgres, Redis, Memcached, Beanstalk, Node, Gulp, Grunt и Bower. Homestead содержит простой конфигурационный файл Homestead.yaml для управления несколькими приложениями Laravel в одной коробке.
Сейчас по умолчанию установленный Laravel 4.2 содержит файл конфигурации app/config/local/database.php, который настроен на использование базы данных Homestead, что делает начальную установку и настройку Laravel удобнее.
В официальную документацию также была включена документация Homestead.
Laravel Cashier
Laravel Cashier (кассир) — простая, удобная библиотека для управления подписками биллинга с помощью Stripe. Начиная с версии Laravel 4.2, мы добавили документацию по Cashier к основной документации Laravel, хотя установка самого компонента по-прежнему не обязательна. Эта версия Cashier содержит много исправлений, поддерживает множество валют и совместима с последним Stripe API.
Обработчики очереди — демоны
Команда Artisan queue:work теперь поддерживает параметр --daemon для запуска обработчика в «режиме демона», это значит, что обработчик будет продолжать выполнять работу без перезагрузки фреймворка. Это приводит к значительному снижению загрузки процессора за счёт несколько более сложного процесса развёртывания приложения.
Больше информации о демонах — обработчиках очереди можно найти в документации по очередям.
Драйверы Mail API
В Laravel 4.2 вошли новые драйверы Mailgun и Mandrill API для функций PHPMail
. Для многих приложений это обеспечивает более быстрый и надёжный способ отправки электронной почты, чем варианты SMTP. Новые драйверы используют HTTP библиотеку Guzzle 4.
Мягко удаляемые типажи
Более чистая архитектура для «мягких удалений» и других «глобальных областей» была добавлена в PHP 5.4 с помощью типажей. Эта новая архитектура позволяет проще создавать подобные глобальные типажи и чище разделять задачи внутри самого фреймворка.
Больше информации о новых PHPSoftDeletingTrait
можно найти в документации Eloquent.
Удобная аутентификация и запоминаемые типажи
Теперь Laravel 4.2 по-умолчанию использует простые типажи, содержащие необходимые свойства для пользовательских интерфейсов аутентификации и напоминания паролей. Это обеспечивает более чистый файл модели PHPUser
по умолчанию.
«Simple Paginate»
В построитель запросов и Eloquent был добавлен метод PHPsimplePaginate
(простое разбиение на страницы), который обеспечивает более эффективные запросы при использовании простых ссылок «Далее» и «Назад» в вашем постраничном представлении.
Подтверждение миграций
Теперь в работающих приложениях деструктивные операции миграций будут запрашивать подтверждение. Команды можно выполнять без дополнительных подтверждений, используя параметр --force.
Laravel 4.1
Полный список изменений
Полный список изменений для этой версии можно увидеть, выполнив команду PHPphp artisan changes
в установленной версии 4.1 или посмотреть файл изменений на Github. Это описание содержит только основные улучшения и изменения в версии.
Новый компонент SSH
В эту версию вошёл полностью новый компонент PHPSSH
. Эта функция позволяет вам легко подключаться через SSH к удалённым серверам и выполнять команды. Чтобы узнать больше, загляните в документацию компонента SSH.
Новая команда php artisan tail использует новый компонент SSH. Чтобы узнать больше, загляните в документацию команды tail.
Boris в Tinker
Теперь команда php artisan tinker использует Boris REPL, если ваша система поддерживает его. Для использования этой возможности должны быть установлены расширения PHP readline и pcntl. Если у вас нет этих расширений, будет использована оболочка из 4.0.
Улучшения Eloquent
В Eloquent добавлено новое отношение PHPhasManyThrough
. Посмотрите, как им пользоваться, в документации Eloquent.
Также был добавлен новый метод PHPwhereHas
для возможности получения моделей на основе ограничений отношений.
Подключения чтения/записи к БД
Теперь автоматическая обработка отдельных подключений чтения/записи доступна во всём слое БД, в том числе в построителе запросов и Eloquent. Чтобы узнать больше, загляните в документацию.
Приоритет очереди
Теперь поддерживаются приоритеты очереди с помощью передачи в команду queue:listen списка, разделённого запятыми.
Обработка неудавшихся заданий очереди
Теперь в очередях есть возможность автоматической обработки неудавшихся заданий при использовании нового переключателя --tries в queue:listen. Больше информации об обработке неудавшихся заданий можно найти в документации очередей.
Тэги кэша
«Секции» кэша были заменены «тэгами». Тэги кэша позволяют назначать несколько «тэгов» элементу кэша и получать элементы по тэгу. Больше информации об использовании тэгов кэша можно найти в документации кэша.
Гибкие напоминатели паролей
Движок напоминателя паролей был изменён для обеспечения большей гибкости разработки при проверке паролей, выводе сообщений о состоянии в сессии, и т.д. Чтобы узнать больше об использовании расширенного движка напоминателя паролей, загляните в документацию.
Улучшенный движок путей
В Laravel 4.1 вошёл полностью переписанный слой путей. API прежний, но регистрация путей на все 100% быстрее по сравнению с 4.0. Весь движок был значительно упрощён, и зависимость от Symfony Routing была минимизирована до составления выражений для путей.
Улучшенный движок сессий
Также в версию вошёл полностью новый движок сессий. Также как и улучшения путей, новый слой сессий проще и быстрее. Мы больше не используем средства обработки сессий Symfony(а значит и PHP), а используем своё решение, которое проще и легче в обслуживании.
Doctrine DBAL
Если вы используете функцию PHPrenameColumn
в ваших миграциях, то вам надо будет добавить зависимость doctrine/dbal в ваш файл composer.json. Этот пакет больше не входит в Laravel по умолчанию.