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

Быстрый старт

перевод документация 4.x

  1. 1. Установка
    1. 1.1. С помощью установщика Laravel
    2. 1.2. С помощью Composer
    3. 1.3. Разрешения
    4. 1.4. Обслуживание Laravel
    5. 1.5. Структура каталогов
  2. 2. Локальная среда разработки
  3. 3. Маршрутизация
  4. 4. Создаём шаблон
  5. 5. Создаём миграцию
  6. 6. Eloquent ORM
  7. 7. Отображаем данные
  8. 8. Развёртывание приложений
Этот перевод актуален для англоязычной документации на (ветка 4.2) , (ветка 4.1) и (ветка 4.0). Опечатка? Выдели и нажми Ctrl+Enter.

Установка

С помощью установщика Laravel

+ 4.2

добавлено в 4.2 ()

Сначала загрузите установщик Laravel с помощью Composer.

shcomposer global require "laravel/installer=~1.1"

Не забудьте поместить каталог ~/.composer/vendor/bin в вашу переменную PATH, чтобы исполняемый файл laravel мог быть найден при запуске команды shlaravel в терминале.

После установки простая команда shlaravel new произведёт установку свежего Laravel в указанный каталог. Например, shlaravel new blog создаст каталог с именем blog, содержащий свежий Laravel со всеми установленными зависимостями. Этот способ установки намного быстрее, чем установка с помощью Composer.

+ 4.1

добавлено в 4.1 ()

Способ появился в 4.1, но был вскоре удалён.

Во-первых, скачайте PHAR-архив http://laravel.com/laravel.phar установщика Laravel. Для удобства переименуйте файл в laravel и переместите его в /usr/local/bin. После установки простая команда shlaravel new произведёт установку свежего Laravel в указанный каталог. Например, shlaravel new blog создаст каталог с именем blog, содержащий свежий Laravel со всеми установленными зависимостями. Этот способ установки намного быстрее, чем установка с помощью Composer.

С помощью Composer

Фреймворк Laravel использует Composer для установки и управления зависимостями. Если вы ещё не сделали этого, начните с установки Composer.

Теперь вы можете установить Laravel, выполнив эту команду в командной строке:

shcomposer create-project laravel/laravel your-project-name 4.2 --prefer-dist

Эта команда загрузит и установит свежую версию Laravel в новую папку your-project-name в вашем текущем каталоге.

Если захотите, вы можете вручную скачать копию репозитория Laravel с GitHub. Затем выполните команду shcomposer install в созданной вами корневой папке проекта. Эта команда загрузит и установит зависимости фреймворка.

Разрешения

После установки Laravel вам может потребоваться предоставить веб-серверу разрешения на запись в каталоги app/storage. Подробности о настройке смотрите в статье по установке.

+ 4.1

добавлено в 4.1 ()

Обслуживание Laravel

Как правило, вы можете использовать веб-сервер, такой как Apache или Nginx, чтобы обслуживать ваши приложения Laravel. Если вы работаете с PHP 5.4+ и хотите использовать встроенный в PHP сервер для разработки, вы можете использовать команду shserve Artisan:

PHP
php artisan serve

Структура каталогов

После установки изучите структуру папок. Папка app содержит подпапки, такие как views, controllers и models. Большая часть кода вашего приложения будет находиться где-то внутри них. Вы также можете посмотреть на содержимое app/config и на настройки, которые доступны для изменения.

+ 4.2

добавлено в 4.2 ()

Локальная среда разработки

Раньше настройка локальной среды PHP-разработки на своей машине была утомительной. Установка нужной версии PHP, требуемых расширений и других необходимых компонентов отнимает много времени и сил. Попробуйте новый способ — Laravel Homestead. Homestead — простая виртуальная машина, созданная для Laravel и Vagrant. Поскольку Vagrant-коробка Homestead заранее снабжена всем необходимым ПО для создания надёжных PHP-приложений, вы можете создать виртуальную, изолированную среду разработки за считанные секунды. Вот список некоторых вещей, включённых в Homestead:

  • Nginx
  • PHP 5.6
  • MySQL
  • Redis
  • Memcached
  • Beanstalk

Не волнуйтесь, хотя «виртуальная среда» звучит сложно, на самом деле это совсем не так. И VirtualBox и Vagrant, необходимые для Homestead, имеют простые графические установщики для всех популярных ОС. Для начала взгляните на документацию Homestead.

Маршрутизация

Для начала давайте создадим наш первый маршрут (route). В Laravel самый простой маршрут — функция-замыкание (closure). Откройте файл app/routes.php и добавьте этот код в его конец:

PHP
Route::get('users', function () {
  return 
'Users!';
});

Теперь если вы перейдёте в браузере на адрес .../users, то должны увидеть текст PHPUsers!. Отлично! Вы только что создали свой первый маршрут.

Маршруты также могут быть привязаны к классу контроллера. Например:

PHP
Route::get('users''UserController@getIndex');

Этот маршрут сообщает Laravel, что запросы к /users должны вызывать метод PHPgetIndex() класса PHPUserController. Для дополнительной информации см. раздел о контроллерах.

Создаём шаблон

Давайте теперь создадим простой шаблон, или вид (от англ. view), чтобы показывать информацию о наших пользователях. Шаблоны находятся в app/views и содержат HTML-код вашего приложения. Мы создадим два новых шаблона в этой папке: layout.blade.php и users.blade.php. Начнём с layout.blade.php:

xml<html>
  <body>
    <h1>Laravel Quickstart</h1>

    @yield('content')
  </body>
</html>

Теперь создадим users.blade.php:

xml@extends('layout')

@section('content')
  Users!
@stop

Кое-что из этого кода, возможно, выглядит для вас весьма странно. Это из-за того, что мы используем шаблонизатор Laravel — Blade. Blade очень быстр благодаря тому, что это всего лишь набор регулярных выражений, которые преобразуют ваши шаблоны в чистый код на PHP. Blade позволяет наследовать шаблоны, а также добавляет «синтаксический сахар» к таким частоиспользуемым PHP-конструкциям, как if и for. Для информации см. раздел о Blade.

Теперь, когда у нас есть шаблоны, давайте используем их в нашем маршруте /users. Вместо возврата простой строки PHPUsers! мы вернём экземпляр шаблона:

PHP
Route::get('users', function () {
  return 
View::make('users');
});

Замечательно! Вы создали шаблон маршрута, который наследует разметку страницы (шаблон layout). А теперь перейдём к работе с базой данных.

Создаём миграцию

Для создания таблицы для хранения наших данных мы используем систему миграций Laravel. Миграции позволяют вам определять изменения в БД, используя выразительный синтаксис, а затем легко делиться ими с остальными членами вашей команды.

Для начала настроим соединение с БД. Все соединения настраиваются в файле app/config/database.php. По умолчанию Laravel использует MySQL, и для работы вам нужно указать здесь параметры подключения. Если хотите, можете установить параметр driver в значение sqlite и Laravel будет использовать базу данных SQLite, которая находится в папке app/database.

Для создания миграции мы воспользуемся утилитой командной строки Artisan. Выполните следующую команду в корневой папке вашего проекта:

shphp artisan migrate:make create_users_table

Теперь найдите созданный файл миграции в папке app/database/migrations. Он содержит класс с двумя методами: up и down. В методе up вам нужно произвести требуемые изменения в таблицах, а в методе down вам нужно их откатить.

Давайте создадим такую миграцию:

PHP
public function up() {
  
Schema::create('users', function ($table) {
    
$table->increments('id');
    
$table->string('email')->unique();
    
$table->string('name');
    
$table->timestamps();
  });
}

public function 
down() {
  
Schema::drop('users');
}

Теперь мы можем применить миграцию через командную строку, используя команду migrate. Просто выполните её в корне проекта:

shphp artisan migrate

Если вам нужно откатить миграцию — выполните команду migrate:rollback. Теперь, когда у нас есть таблица, начнём загружать данные!

Eloquent ORM

Laravel поставляется с замечательной ORM (механизм связывания записей БД с объектами PHP — прим. пер.) — Eloquent. Если вы программировали в библиотеке Ruby on Rails, то она покажется вам знакомой, так как Eloquent следует принципам ActiveRecord при взаимодействии с базами данных.

Для начала создадим модель. В Eloquent модель используется для запросов к соответствующей таблице в БД, а также представляет отдельную запись (record) внутри неё. Не беспокойтесь, скоро это станет куда понятнее! Модели обычно хранятся в папке app/models. Создадим файл User.php с таким кодом:

PHP
class User extends Eloquent {}

Заметьте, что нам не нужно указывать, какую таблицу нужно использовать. Eloquent следует множеству соглашений, одно из которых — то, что имя таблицы соответствует множественному числу имени класса её модели (user → users — прим. пер.). Это очень удобно!

Добавьте новые записи в таблицу users, используя ваш любимый инструмент для работы с БД, и мы посмотрим, как Eloquent позволяет их получить, а затем передать в шаблон.

Итак, изменим наш маршрут /users:

PHP
Route::get('users', function () {
  
$users User::all();

  return 
View::make('users')->with('users'$users);
});

Посмотрим, что здесь происходит. Сперва мы получаем все записи в таблице users через метод PHPall() модели PHPUser. Дальше мы передаём эти записи шаблону через его метод PHPwith(). Этот метод принимает имя переменной и её значение и таким образом делает данные доступными внутри своего кода.

Отлично. Теперь мы готовы к тому, чтобы показать пользователей в нашем шаблоне!

Отображаем данные

Теперь, когда мы сделали переменную users доступной для нашего шаблона, мы можем отобразить её таким образом:

xml@extends('layout')

@section('content')
  @foreach ($users as $user)
    <p>{{ $user->name }}</p>
  @endforeach
@stop

Код выше открыт для XSS-атак — Blade, как и простой код на PHP, не экранирует вывод, поэтому вам нужно следить, чтобы выводимые строки содержали экранированный HTML — прим. пер.

Вам может быть интересно, куда подевались вызовы echo. Blade позволяет вам выводить строки, обрамляя их двойными фигурными скобками ({{ ... }}). Теперь вы можете перейти в браузере к своему маршруту и увидеть имена всех имеющихся пользователей.

Это только начало. В этом руководстве вы ознакомились с самыми основами Laravel, но у него есть ещё очень много интересных вещей, которые вам стоит узнать. Продолжайте читать документацию и глубже узнавать возможности, предоставляемые Eloquent и Blade. А может вам больше интересны очереди и юнит-тесты? Или же вам хочется размять мускулы с контейнером IoC? Выбор за вами!

+ 4.2

добавлено в 4.2 ()

Развёртывание приложений

Одна из задач Laravel — сделать разработку PHP-приложений приятной, начиная со скачивания и заканчивая развёртыванием. 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-задания, поддомены и многое другое. Загляните на официальный сайт Forge.

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.