Миграции — одна из наиболее моих любимых возможностей в Laravel. Я очень не люблю писать SQL — и класс PHPSchema
позволяет создавать нужные мне таблицы даже не вспоминая об этом пресловутом «языке программирования». Кроме того, код, использующей PHPSchema
очень красив и читается так же просто, как обычный связный текст.
Если вы до сих пор не сталкивались с миграциями — это просто способ описать в одном файле изменения вашей базы данных — при этом разные…
Контейнер IoC — неочевидная на первый взгляд возможность Laravel: его описание в документации сбивает с толку многих начинающих программистов и какое-то короткое время я сам был одним из них. Однако после копания этой темы и при поддержке замечательного сообщества Laravel на IRC-канале FreeNode #laravel эта тема полностью прояснилась. Надеюсь, я смогу пролить немного света на этот таинственный аспект Laravel в этой статье.
IoC означает «обратный контроль» («Inversion of Control»). Я не буду…
С постепенным ростом вашего приложения вы замечаете, что оно стало терять в организованности. Ваш start.php наполняется смесью фильтров, составителей, именованных шаблонов, событий, проверок ввода, макросов HTML и автозагрузок классов. Всё превращается в хаос, усугубряемый тем, что start.php по умолчанию уже содержит немного кода. Большинство перечисленного выше можно поместить в routes.php, но если у вас мнение на этот счёт совпадает с моим, то вы предпочтёте определять там только …
Большинство вёб-приложений используют стандартный шаблон дизайна для большинства или даже для всех своих страниц. Бо(')льшую часть времени их авторы просто пишут PHPView::make()
, а затем привязывают нужные данные к этому шаблону:
…
Laravel имеет множество конфигурационных файлов в application/config для настройки всех возможностей, предоставляемых этой средой. Но вам ведь хочется создать собственный файл настроек? Сегодня у вас удачный день, потому что я расскажу вам, как это делается.
Cоздание файлов
Файлы натроек Laravel — обычные скрипты на PHP, хранящиеся в application/config или в одной из подпапок. Они возвращают массив значений — например:
Встроенная в Laravel система шаблонов «Blade» даёт вам возможность использовать красивый синтаксис для вставки PHP кода. Он также содержит набор функций для быстрого выполнения часто используемых задач. Шаблоны Blade кэшируются, поэтому они очень быстры в работе.
Как обычно, давайте начнём без длинных предисловий.
Основы
Чтобы включить Blade для своего шаблона просто добавьте к нему расширение .blade.php вместо обычного .php. Больше ничего не требуется.
Обычно, когда используя шаблоны в обычных…
Fluent — одна из библиотек, которой Laravel помогает мне отразить «серебряную пулю SQL» — хотя вы по прежнему можете писать запросы, если вам нравится это занятие. Что то лучшее, что даёт мне Fluent? Если не считать отсутствия SQL, то это использование подготовленных запросов («prepared statements»), которые полностью защищены от SQL-инъекций («SQL injection»).
Fluent понимает множество разных диалектов SQL, поэтому ваши запросы будут работать на самых разных БД. Перед тем, как мы начнём, познакомьтесь с механизмом цепочки методов. Возьмём этот пример:
…
ORM — довольно полезная штука. ORM расшифровывается как «Объектно-реляционное отображение» («Object Relational Mapper») — звучит запутанно, верно? Давайте разобъём его на части (барабанная дробь): отображение означает, что мы связываем наши PHP-объекты, или классы, с таблицами и строчками базы данных. При чём здесь реляционное станет понятно в разделе об…
Одна из новых возможностей Laravel 3.1 — отслеживание события PHPConfig::loader
, а через него — управление процессом загрузки конфигурационных файлов. Нам потребуется совсем немного кода, чтобы использовать этот крючок («hook») для добавления поддержки настроек в формате .yaml с сохранением стандартной загрузки настроек в PHP.php
.
Установка YAML
Перед тем, как мы сможем использовать…
Одна из возможностей, которая мне часто требуется — удобное использование Composer для управления как собственными, так и сторонними библиотеками — например, компонентами Symfony. Немного копания и кода и я достиг этой цели — и в этой статье я проведу вас к ней.
Для начала установим Composer:
sh
cd /path/to/laravel
curl -s http://getcomposer.org/installer | php
Теперь создадим файл composer.json в…
(delete)