Может войдёшь?
Черновики Написать статью Профиль

Статьи Proger_XP

Миграции

перевод

Миграции — одна из наиболее моих любимых возможностей в Laravel. Я очень не люблю писать SQL — и класс PHPSchema позволяет создавать нужные мне таблицы даже не вспоминая об этом пресловутом «языке программирования». Кроме того, код, использующей PHPSchema очень красив и читается так же просто, как обычный связный текст.

Если вы до сих пор не сталкивались с миграциями — это просто способ описать в одном файле изменения вашей базы данных — при этом разные…

Использование контейнера IoC

перевод

Контейнер IoC — неочевидная на первый взгляд возможность Laravel: его описание в документации сбивает с толку многих начинающих программистов и какое-то короткое время я сам был одним из них. Однако после копания этой темы и при поддержке замечательного сообщества Laravel на IRC-канале FreeNode #laravel эта тема полностью прояснилась. Надеюсь, я смогу пролить немного света на этот таинственный аспект Laravel в этой статье.

IoC означает «обратный контроль» («Inversion of Control»). Я не буду…

Разделение логики start.php

перевод

С постепенным ростом вашего приложения вы замечаете, что оно стало терять в организованности. Ваш start.php наполняется смесью фильтров, составителей, именованных шаблонов, событий, проверок ввода, макросов HTML и автозагрузок классов. Всё превращается в хаос, усугубряемый тем, что start.php по умолчанию уже содержит немного кода. Большинство перечисленного выше можно поместить в routes.php, но если у вас мнение на этот счёт совпадает с моим, то вы предпочтёте определять там только

Шаблоны в контроллерах и маршрутах

перевод

Большинство вёб-приложений используют стандартный шаблон дизайна для большинства или даже для всех своих страниц. Бо(')льшую часть времени их авторы просто пишут PHPView::make(), а затем привязывают нужные данные к этому шаблону:

PHP
return View::make('layouts.default')->nest('content''application.home', array('data' => $data));

Конфигурационные файлы Laravel

перевод

Laravel имеет множество конфигурационных файлов в application/config для настройки всех возможностей, предоставляемых этой средой. Но вам ведь хочется создать собственный файл настроек? Сегодня у вас удачный день, потому что я расскажу вам, как это делается.

Cоздание файлов

Файлы натроек Laravel — обычные скрипты на PHP, хранящиеся в application/config или в одной из подпапок. Они возвращают массив значений — например:

PHP
// application/config/ourconfig.php

return array(
  
'size' => 6

Blade - расширенные шаблоны

перевод

Встроенная в Laravel система шаблонов «Blade» даёт вам возможность использовать красивый синтаксис для вставки PHP кода. Он также содержит набор функций для быстрого выполнения часто используемых задач. Шаблоны Blade кэшируются, поэтому они очень быстры в работе.

Как обычно, давайте начнём без длинных предисловий.

Основы

Чтобы включить Blade для своего шаблона просто добавьте к нему расширение .blade.php вместо обычного .php. Больше ничего не требуется.

Обычно, когда используя шаблоны в обычных…

Fluent - создание запросов к БД

перевод

Fluent — одна из библиотек, которой Laravel помогает мне отразить «серебряную пулю SQL» — хотя вы по прежнему можете писать запросы, если вам нравится это занятие. Что то лучшее, что даёт мне Fluent? Если не считать отсутствия SQL, то это использование подготовленных запросов («prepared statements»), которые полностью защищены от SQL-инъекций («SQL injection»).

Fluent понимает множество разных диалектов SQL, поэтому ваши запросы будут работать на самых разных БД. Перед тем, как мы начнём, познакомьтесь с механизмом цепочки методов. Возьмём этот пример:

denisbookreev

«будь ответственен, силой владеющий!»
Будем честны, переводчики из вас никакие, в некоторых местах вообще запахло Promt'ом
На 100% уверен, что эта фраза должна переводится так:
«C большой силой приходит большая ответственность» © Бен Паркер

Eloquent ORM - работа с БД

перевод

ORM — довольно полезная штука. ORM расшифровывается как «Объектно-реляционное отображение» («Object Relational Mapper») — звучит запутанно, верно? Давайте разобъём его на части (барабанная дробь): отображение означает, что мы связываем наши PHP-объекты, или классы, с таблицами и строчками базы данных. При чём здесь реляционное станет понятно в разделе об…

macik

а как такой запрос написать Eloquent

SELECT * FROM `user_names` WHERE `firm_id` != 38 AND CONCAT( YEAR( NOW( ) ) , '—', DATE_FORMAT( `birthday` , '%m-%d %T')) BETWEEN DATE_SUB( NOW( ) , INTERVAL 1 DAY ) AND DATE_ADD( NOW( ) , INTERVAL 1 DAY )?

WHERE понятно, а вот далеше не понимаю

Хранение настроек в YAML

перевод

Одна из новых возможностей Laravel 3.1 — отслеживание события PHPConfig::loader, а через него — управление процессом загрузки конфигурационных файлов. Нам потребуется совсем немного кода, чтобы использовать этот крючок («hook») для добавления поддержки настроек в формате .yaml с сохранением стандартной загрузки настроек в PHP.php.

Установка YAML

Перед тем, как мы сможем использовать…

Composer в Laravel

перевод

Одна из возможностей, которая мне часто требуется — удобное использование Composer для управления как собственными, так и сторонними библиотеками — например, компонентами Symfony. Немного копания и кода и я достиг этой цели — и в этой статье я проведу вас к ней.

Для начала установим Composer:

sh# перехходим в папку проекта:
cd /path/to/laravel
# устанавливаем Composer:
curl -s http://getcomposer.org/installer | php

Теперь создадим файл composer.json в…

Назад | ДальшеДвижется на Habravel