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

Настройка

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

  1. 1. Введение
  2. 2. После установки
    1. 2.1. Название вашего приложения
    2. 2.2. Другие настройки
    3. 2.3. Права доступа
  3. 3. Чтение значений настроек
  4. 4. Настройки среды
  5. 5. Кэширование настроек
  6. 6. Режим обслуживания
    1. 6.1. Шаблон ответа для режима обслуживания
    2. 6.2. Режим обслуживания и очереди
  7. 7. Красивые URL
    1. 7.1. Apache
    2. 7.2. Nginx
Этот перевод актуален для англоязычной документации на (ветка 5.0). Опечатка? Выдели и нажми Ctrl+Enter.

Данная статья документации актуальна только для версии 5.0 и была удалена в версии 5.1.

Введение

Все файлы настроек Laravel хранятся в папке config. Каждая настройка задокументирована, поэтому не стесняйтесь изучить эти файлы и познакомиться с доступными возможностями конфигурирования.

После установки

Название вашего приложения

После установки Laravel вам может потребоваться «назвать» ваше приложение. По умолчанию каталог app находится в пространстве имён PHPApp и автоматически загружается с помощью Composer по стандарту автозагрузки PSR-4. Но вы можете изменить пространство имён в соответствии с названием вашего приложения с помощью Artisan-команды shapp:name.

Например, если ваше приложение называется «Horsefly», вы можете выполнить следующую команду в корне вашей инсталляции:

shphp artisan app:name Horsefly

Задание имени для вашего приложения вовсе не обязательно, и вы можете оставить пространство имён PHPApp, если захотите.

Другие настройки

После установки Laravel нужно настроить самую малость. Вы можете сразу начинать разработку! Но если захотите, просмотрите файл config/app.php и его документацию. Он содержит несколько параметров, таких как timezone и locale, которые могут пригодиться для настройки вашего приложения в зависимости от вашего местоположения.

После установки Laravel вам также надо настроить вашу локальную среду.

Внимание: никогда не устанавливайте параметр app.debug в значение true для продакшна.

Права доступа

Для Laravel может потребоваться настроить один набор прав доступа: веб-серверу требуются права записи в папки, находящиеся в storage и vendor.

Чтение значений настроек

Вы легко можете прочитать значения настроек, используя фасад PHPConfig:

PHP
$value Config::get('app.timezone');

Config::set('app.timezone''America/Chicago');

Вы также можете использовать вспомогательную функцию PHPconfig:

PHP
$value config('app.timezone');

Настройки среды

Часто необходимо иметь разные значения для различных настроек в зависимости от среды, в которой выполняется приложение. Например, вы можете захотеть использовать разные драйвера кэша на локальном и продакшн-сервере. Это легко достигается с помощью настроек, зависящих от среды.

Для этого в Laravel используется PHP-библиотека DotEnv от Ванса Лукаса. В свежей инсталляции Laravel в корне вашего приложения будет файл .env.example. Если вы установили Laravel с помощью Composer, этот файл будет автоматически переименован в .env, иначе вам следует сделать это вручную.

Все перечисленные в этом файле переменные будут загружены в супер-глобальную переменную PHP PHP$_ENV, когда ваше приложение получит запрос. Вы можете использовать функцию PHPenv для получения значений из этих переменных. На самом деле, если вы просмотрите файлы настроек Laravel, вы заметите несколько параметров, уже использующих эту функцию.

Не бойтесь изменять ваши переменные среды так, как необходимо для вашего локального сервера, а также для среды продакшна. Но ваш файл .env не должен быть включён в систему контроля версий вашего приложения, так как каждому использующему ваше приложение разработчику/серверу может потребоваться разная настройка среды.

Если вы работаете в команде, то, возможно, вам захочется и дальше поставлять файл .env.example с вашим приложением. Поместив примеры значений в этот файл, вы дадите понять другим разработчикам, какие переменные среды необходимы для запуска вашего приложения.

Получение имени текущей среды

Вы можете получить имя текущей среды приложения с помощью метода PHPenvironment для экземпляра PHPApplication:

PHP
$environment $app->environment();

Также вы можете передавать аргументы в метод PHPenvironment, чтобы проверить — совпадает ли имя среды с заданным значением:

PHP
if ($app->environment('local'))
{
  
// Среда локальная (local)
}

if (
$app->environment('local''staging'))
{
  
// Среда локальная (local) ИЛИ отладочная (staging)...
}

Чтобы получить экземпляр приложения, выполните контракт Illuminate\Contracts\Foundation\Application с помощью сервис-контейнера. Конечно, когда вы находитесь внутри сервис-провайдера, экземпляр приложения доступен через переменную PHP$this->app.

Экземпляр приложения также доступен через функцию PHPapp или фасад PHPApp:

PHP
$environment app()->environment();

$environment App::environment();

Кэширование настроек

Для небольшого повышения скорости вашего приложения вы можете кэшировать все файлы настроек в единый файл с помощью Artisan-команды shconfig:cache. Она объединит все параметры настроек вашего приложения в единый файл, который может быть быстро загружен фреймворком.

У вас должно войти в привычку запускать команду shconfig:cache, как типичная часть разработки.

Режим обслуживания

Когда ваше приложение находится в режиме обслуживания (maintenance mode), специальный шаблон будет отображаться для всех запросов в вашем приложении. Это позволяет легко «отключать» приложение во время его обновления или при обслуживании. Проверка режима обслуживания включена в изначальный набор промежуточного ПО для вашего приложения. Когда приложение находится в режиме обслуживания, будет вызвано исключение HttpException с кодом состояния 503.

Для включения этого режима просто выполните Artisan-команду down:

shphp artisan down

Чтобы выйти из режима обслуживания выполните команду up:

shphp artisan up

Шаблон ответа для режима обслуживания

Шаблон для ответов по умолчанию для режима обслуживания находится в resources/views/errors/503.blade.php.

Режим обслуживания и очереди

Пока ваше приложение находится в режиме обслуживания, не будут обрабатываться никакие задачи очередей. Задачи продолжат обрабатываться как обычно, как только приложение выйдет из режима обслуживания.

Красивые URL

Apache

Фреймворк поставляется с файлом public/.htaccess, который используется для реализации URL-адресов без index.php. Если вы используете Apache для работы вашего Laravel-приложения, убедитесь, что включён модуль mod_rewrite.

Если поставляемый с Laravel файл .htaccess не работает с вашей инсталляцией Apache, попробуйте этот:

confOptions +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Если ваш хостинг не разрешает опцию FollowSymlinks, попробуйте заменить её на Options +SymLinksIfOwnerMatch.

Nginx

В Nginx следующая директива в настройках вашего сайта позволит использовать «красивые» URL-адреса:

PHP
location / {
  
try_files $uri $uri/ /index.php?$query_string;
}

Само собой, при использовании Homestead красивые URL будут настроены автоматически.

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

Разметка: ? ?

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