{{TOC}} {{DOCVER 4.0=0da300f6445bec5a70d007f503834fce957b065b 16.10.2014 5:19:26, 4.1=efd541a0b218b1c6aafb73f0051c18ed150e3c24 25.05.2014 6:21:03, 4.2=d7b13440c003218ed79e9d508706eca01990122f 4.12.2014 5:01:15}} == Установка == === С помощью установщика Laravel === %%(DOCNEW 4.2=d7b13440c003218ed79e9d508706eca01990122f 4.12.2014 5:01:15) Сначала загрузите установщик Laravel с помощью Composer. %%(sh) composer global require "laravel/installer=~1.1" ~%% Не забудьте поместить каталог %%(t)~/.composer/vendor/bin%% в вашу переменную PATH, чтобы исполняемый файл %%(t)laravel%% мог быть найден при запуске команды %%(sh)laravel%% в терминале. После установки простая команда %%(sh)laravel new%% произведёт установку свежего Laravel в указанный каталог. Например, %%(sh)laravel new blog%% создаст каталог с именем %%(t)blog%%, содержащий свежий Laravel со всеми установленными зависимостями. Этот способ установки намного быстрее, чем установка с помощью Composer. %% %%(DOCNEW 4.1=efd541a0b218b1c6aafb73f0051c18ed150e3c24 25.05.2014 6:21:03) .(tl_note) Способ появился в 4.1, но был вскоре удалён. Во-первых, скачайте PHAR-архив --%%(t)http://laravel.com/laravel.phar%%-- установщика Laravel. Для удобства переименуйте файл в %%(t)laravel%% и переместите его в %%(t)/usr/local/bin%%. После установки простая команда %%(sh)laravel new%% произведёт установку свежего Laravel в указанный каталог. Например, %%(sh)laravel new blog%% создаст каталог с именем %%(t)blog%%, содержащий свежий Laravel со всеми установленными зависимостями. Этот способ установки намного быстрее, чем установка с помощью Composer. %% === С помощью Composer === Фреймворк Laravel использует ((http://getcomposer.org/ Composer)) для установки и управления зависимостями. Если вы ещё не сделали этого, начните с ((http://getcomposer.org/doc/00-intro.md установки Composer)). Теперь вы можете установить Laravel, выполнив эту команду в командной строке: %%(sh) composer create-project laravel/laravel your-project-name 4.2 --prefer-dist %% Эта команда загрузит и установит свежую версию Laravel в новую папку %%(t)your-project-name%% в вашем текущем каталоге. Если захотите, вы можете вручную скачать копию ((git:laravel/archive/master.zip репозитория Laravel с GitHub)). Затем выполните команду %%(sh)composer install%% в созданной вами корневой папке проекта. Эта команда загрузит и установит зависимости фреймворка. === Разрешения === После установки Laravel вам может потребоваться предоставить веб-серверу разрешения на запись в каталоги **app/storage**. Подробности о настройке смотрите в ((docs/v4/installation статье по установке)). %%(DOCNEW 4.1=efd541a0b218b1c6aafb73f0051c18ed150e3c24 25.05.2014 05:21:00) === Обслуживание Laravel === Как правило, вы можете использовать веб-сервер, такой как Apache или Nginx, чтобы обслуживать ваши приложения Laravel. Если вы работаете с PHP 5.4+ и хотите использовать встроенный в PHP сервер для разработки, вы можете использовать команду %%(sh)serve%% Artisan: ~%% php artisan serve ~%% %% ===Структура каталогов=== После установки изучите структуру папок. Папка **app** содержит подпапки, такие как **views**, **controllers** и **models**. Большая часть кода вашего приложения будет находиться где-то внутри них. Вы также можете посмотреть на содержимое %%(t)app/config%% и на настройки, которые доступны для изменения. %%(DOCNEW 4.2=d7b13440c003218ed79e9d508706eca01990122f 4.12.2014 5:01:15) == Локальная среда разработки == Раньше настройка локальной среды PHP-разработки на своей машине была утомительной. Установка нужной версии PHP, требуемых расширений и других необходимых компонентов отнимает много времени и сил. Попробуйте новый способ - ((/docs/v4/homestead Laravel Homestead)). Homestead - простая виртуальная машина, созданная для Laravel и ((http://vagrantup.com Vagrant)). Поскольку Vagrant-коробка Homestead заранее снабжена всем необходимым ПО для создания надёжных PHP-приложений, вы можете создать виртуальную, изолированную среду разработки за считанные секунды. Вот список некоторых вещей, включённых в Homestead: * Nginx * PHP 5.6 * MySQL * Redis * Memcached * Beanstalk Не волнуйтесь, хотя "виртуальная среда" звучит сложно, на самом деле это совсем не так. И VirtualBox и Vagrant, необходимые для Homestead, имеют простые графические установщики для всех популярных ОС. Для начала взгляните на ((/docs/v4/homestead документацию Homestead)). %% == ((#маршрут)) Маршрутизация == Для начала давайте создадим наш первый маршрут (//route//). В Laravel самый простой маршрут - функция-замыкание (//closure//). Откройте файл %%(t)app/routes.php%% и добавьте этот код в его конец: %%(php) Route::get('users', function () { return 'Users!'; }); %% Теперь если вы перейдёте в браузере на адрес %%(t).../users%%, то должны увидеть текст %%Users!%%. Отлично! Вы только что создали свой первый маршрут. Маршруты также могут быть привязаны к классу контроллера. Например: %%(php) Route::get('users', 'UserController@getIndex'); %% Этот маршрут сообщает Laravel, что запросы к %%(t)/users%% должны вызывать метод %%getIndex()%% класса %%UserController%%. Для дополнительной информации см. ((docs/v4/controllers раздел о контроллерах)). == ((#шаблон)) Создаём шаблон == Давайте теперь создадим простой шаблон, или вид (от англ. //view//), чтобы показывать информацию о наших пользователях. Шаблоны находятся в %%(t)app/views%% и содержат HTML-код вашего приложения. Мы создадим два новых шаблона в этой папке: %%(t)layout.blade.php%% и %%(t)users.blade.php%%. Начнём с %%(t)layout.blade.php%%: %%(html)
{{ $user->name }}
@endforeach @stop %% .(tl_note) **Код выше открыт для XSS-атак** - Blade, как и простой код на PHP, не экранирует вывод, поэтому вам нужно следить, чтобы выводимые строки содержали экранированный HTML - //прим. пер.// Вам может быть интересно, куда подевались вызовы **echo**. Blade позволяет вам выводить строки, обрамляя их двойными фигурными скобками (%%(t){{ ... }}%%). Теперь вы можете перейти в браузере к своему маршруту и увидеть имена всех имеющихся пользователей. Это только начало. В этом руководстве вы ознакомились с самыми основами Laravel, но у него есть ещё очень много интересных вещей, которые вам стоит узнать. Продолжайте читать документацию и глубже узнавать возможности, предоставляемые ((docs/v4/eloquent Eloquent)) и ((docs/v4/templates Blade)). А может вам больше интересны ((docs/v4/queues очереди)) и ((docs/v4/testing юнит-тесты))? Или же вам хочется размять мускулы с ((docs/v4/ioc контейнером IoC))? Выбор за вами! %%(DOCNEW 4.2=d7b13440c003218ed79e9d508706eca01990122f 4.12.2014 5:01:15) == Развёртывание приложений == Одна из задач Laravel - сделать разработку PHP-приложений приятной, начиная со скачивания и заканчивая развёртыванием. ((https://forge.laravel.com Laravel Forge)) обеспечивает простой способ для развёртывания ваших Laravel-приложений на "молниеносных" (blazing-fast) серверах. Forge умеет настраивать и обеспечивать работу приложений на DigitalOcean, Linode, Rackspace и Amazon EC2. Как и в Homestead, в него уже включены последние версии таких продуктов: Nginx, PHP 5.6, MySQL, Postgres, Redis, Memcached и др. С помощью функции Forge "Quick Deploy" вы можете разворачивать свой код каждый раз, когда вы вносите изменения на GitHub или Bitbucket! Помимо этого, Forge может помочь вам настроить обработчики очередей, SSL, Cron-задания, поддомены и многое другое. Загляните на официальный ((https://forge.laravel.com сайт Forge)). %%