Laravel 5.0 設定

イントロダクション

フレームワークの全設定ファイルは、configディレクトリーの中に用意されています。全ファイルの、各オプションにコメントが付いています。ご覧になり、用意されているオプションを理解してください。

インストール後

アプリケーションの命名

Laravelをインストールしたら、アプリケーションに「名前」を付けたいことでしょう。appディレクトリーはデフォルトでApp名前空間下にあり、PSR-4オートローディング規約により、Composerがオートローディングしています。しかし、app:name Artisanコマンドにより、簡単にアプリケーション名に適した名前空間へ変更できます。

例えばアプリケーションを"Horsefly"と名付けたければ、インストールルートのディレクトリーで、次のコマンドを実行してください。

php artisan app:name Horsefly

アプリケーションの名前付けは強制ではありません。App名前空間のままでもかまいません。

他の設定

Laravelでは、最初に設定が必要な項目は、大してありません。すぐに開発を開始することもできます!ですが、config/app.phpファイルと、そのコメントには目を通しておいたほうが良いでしょう。場所に合わせて変えておきたいtimezonelocaleのような、オプションを多く含んでいます。

Laravelをインストールし終えたら、ローカル環境の設定も行いましょう。

注意: 実働中のアプリケーションに対し、app.debug設定オプションをtrueに設定してはいけません。

パーミッション

Laravelでは、2箇所パーミッション設定が必要です。storagevendor下のフォルダーへWebサーバーによる書き込みアクセスを設定してください。

設定値の取得

Configファサードを利用し、設定値へ簡単にアクセスできます。

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

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

configヘルパ関数を使用することもできます。

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

環境設定

アプリケーションを実行している環境に基づいて、異なった設定値を使用できれば、多くの場面で役立つでしょう。例えば、ローカル環境では実働環境とは異なったキャッシュドライバーを使いたい時などです。環境ベースの設定で簡単にできます。

Laravelは、Vance Lucasさんにより作成された、DotEnvを活用しているので、朝飯前です。インストールしたてのLaravelでは、アプリケーションのルートディレクトリーに.env.exampleファイルが含まれています。Composerを利用してLaravelをインストールしたら、このファイルは自動的に.envへリネームされます。Composerを使用しない場合は、自分で名前を変更してください。

このファイルにリストされている全変数は、アプリケーションがリクエストを受け取ると、$_ENV PHPスーパーグローバルへロードされます。これらの変数から値を取得するには、envヘルパが使用できます。実際、Laravelの設定ファイルを調べてみれば、多くのオプションでこのヘルパが使用されていることに気がつきます!

ローカルサーバーの要求に合わせ、環境変数を変更してください。実働環境でも同様です。しかし、.envファイルをアプリケーションのソース管理下へ追加してはいけません。あなたのアプリケーションを利用する各開発者/サーバーが、別々の環境値を設定できるからです。

チームにより開発を行っているならば、アプリケーションに.env.exampleファイルを含めておいたほうが良いでしょう。example設定ファイルへプレースフォルダー値を入れておけば、他の開発者はアプリケーションを実行するために、どの環境変数の設定が必要なのか明確に理解できます。

現在のアプリケーション環境取得

現在のアプリケーションの環境へは、Applicationインスタンスのenvironmentメソッドによりアクセスできます。

$environment = $app->environment();

environmentメソッドに引数を渡し、指定した値の環境であるかをチェックすることもできます。

if ($app->environment('local'))
{
    // 環境はlocal
}

if ($app->environment('local', 'staging'))
{
    // 環境はlocalかstaging
}

アプリケーションのインスタンスを取得するには、サービスコンテナーにより、Illuminate\Contracts\Foundation\Application契約を依存解決してください。もちろん、サービスプロバイダーの中では、$this->appインスタンス変数により、アプリケーションインスタンスを利用できます。

アプリケーションインスタンスへはappヘルパか、Appファサードでもアクセスできます。

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

$environment = App::environment();

キャッシュの設定

アプリケーションを少しスピードアップするために、config:cache Artisanコマンドで、全ての設定ファイルを一つにまとめることができます。このコマンドは全設定オプションを一つのファイルへ結合し、フレームワークが素早くロードできるようにします。

通常はデプロイ手順の一部として、config:cacheコマンドを実行すべきでしょう。

メンテナンスモード

アプリケーションがメンテナンスモードの場合、そのアプリケーションで指定した全リクエストでカスタムビューを表示する必要があります。これにより、アップデートやメンテナンスを実行する時、簡単にアプリケーションを「停止」させることができます。メンテナンスモードのチェックは、アプリケーションのデフォルトミドルウェア中で行われています。アプリケーションがメンテナンスモードの場合、503のステータスコードと共に、HttpException例外が投げられます。

メンテナンスモードへ切り換える場合は、シンプルにdown Artisanコマンドを実行してください。

php artisan down

メンテナンスモードを解除する場合は、upコマンドを使用します。

php artisan up

メンテナンスモードのレスポンステンプレート

メンテナンスモードで使用されるデフォルトのテンプレートは、resources/views/errors/503.blade.phpに存在しています。

メンテナンスモードとキュー

アプリケーションがメンテナンスモードの場合、キューのジョブは処理されません。メンテナンスモードが解除され、アプリケーションが通常モードになった時点で、処理が続けられます。

きれいなURL

Apache

フレームワークに含まれているpublic/.htaccessファイルにより、index.phpがURLに含まれていなくてもアクセスできます。LaravelアプリケーションのWebサーバーとしてApacheを使用している場合、mod_rewriteを確実に有効にしてください。

もし、フレームワークに含まれている.htaccessファイルが動作しない場合は、以下の指定を試してください。

Options +FollowSymLinks
RewriteEngine On

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

WebホストでFollowSymlinksが許可されていない場合、Options +SymLinksIfOwnerMatchを代わりに試してください。

Nginx

Nginxの場合、以下のディレクティブをサイトの設定で指定すれば、「きれいな」URLが利用できます。

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

もちろん、Homesteadを使用すれば、きれいなURLの設定は自動的に行われます。

ドキュメント章別ページ

Artisan CLI

ヘッダー項目移動

注目:アイコン:ページ内リンク設置(リンクがないヘッダーへの移動では、リンクがある以前のヘッダーのハッシュをURLへ付加します。

移動

クリックで即時移動します。

設定

適用ボタンクリック後に、全項目まとめて適用されます。

カラーテーマ
和文指定 Pagination
和文指定 Scaffold
Largeスクリーン表示幅
インデント
本文フォント
コードフォント
フォント適用確認

フォントの指定フィールドから、フォーカスが外れると、当ブロックの内容に反映されます。EnglishのDisplayもPreviewしてください。

フォント設定時、表示に不具合が出た場合、当サイトのクッキーを削除してください。

バックスラッシュを含むインライン\Code\Blockの例です。

以下はコードブロックの例です。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * ユーザに関連する電話レコードを取得
     */
    public function phone()
    {
        return $this->hasOne('App\Phone');
    }
}

設定を保存する前に、表示が乱れないか必ず確認してください。CSSによるフォントファミリー指定の知識がない場合は、フォントを変更しないほうが良いでしょう。

キーボード・ショートカット

オープン操作

PDC

ページ(章)移動の左オフキャンバスオープン

HA

ヘッダー移動モーダルオープン

MS

移動/設定の右オフキャンバスオープン

ヘッダー移動

T

最初のヘッダーへ移動

E

最後のヘッダーへ移動

NJ

次ヘッダー(H2〜H4)へ移動

BK

前ヘッダー(H2〜H4)へ移動

その他

?

このヘルプページ表示
閉じる