インストール
サーバー要件
Laravelフレームワークを動作させるには多少のシステム要件があります。もちろん、Laravel Homestead仮想マシンでは、要求が全て満たされています。
- PHP >= 5.5.9
- OpenSSL PHP拡張
- PDO PHP拡張
- Mbstring PHP拡張
- Tokenizer PHP拡張
Laravelのインストール
LaravelはComposerを依存パッケージの管理に使用しています。ですから、Laravelを始める前に、自分の開発機にComposerを確実にインストールしておいてください。
Laravelインストーラー
最初にComposerを使用し、Laravelインストーラーをダウンロードします。
composer global require "laravel/installer"
laravel
コマンドが端末で実行できるように、~/.composer/vendor/bin
ディレクトリーへ実行PATHを通してください。
インストールが完了したら、あとはlaravel new
コマンドを実行するだけで、指定したディレクトリーに真新しいLaravelプロジェクトが作成されます。例えば、laravel new blog
と打ち込めば、blog
というディレクトリーに、必要な依存パッケージと一緒に、Laravelがインストールされます。このインストール方法はComposerを使うよりも多少早いです。
laravel new blog
Composer Create-Project
もしくは、ターミナルでComposerのcreate-project
コマンドを実行して、Laravelをインストールすることもできます。
composer create-project laravel/laravel blog "5.1.*"
設定
基本設定
フレームワークで使用する設定ファイルは全てconfig
ディレクトリー下に設置されます。それぞれのオプションはコメントされていますので、使用可能なオプションについて理解するために、ファイル全体に目を通しておくのが良いでしょう。
ディレクトリーパーミッション
Laravelをインストールした後に多少のパーミッションの設定が必要です。storage
下とbootstrap/cache
ディレクトリーをWebサーバーから書き込み可能にしてください。Homestead仮想マシンを使用する場合は、あらかじめ設定されています。
アプリケーションキー
次にインストール後に行うべきなのは、アプリケーションキーにランダムな文字列を設定することです。ComposerかLaravelインストーラーを使ってインストールしていれば、key:generate
コマンドにより既に設定済みです。通常、この文字列は32文字にすべきです。キーは.env
環境ファイルに設定されます。もし、.env.example
ファイルをまだ.env
にリネームしていなければ、今すぐ行ってください。アプリケーションキーが設定されていなければ、ユーザーセッションや他の暗号化済みデーターは安全ではありません!
その他の設定
Laravelのその他の設定は、最初に指定する必要がありません。すぐに開発を開始しても大丈夫です! しかし、config/app.php
ファイルと、その中の記述を確認しておいたほうが良いでしょう。アプリケーションに合わせ変更したい、timezone
やlocal
のような多くのオプションが含まれています。
以下のようなLaravelのコンポーネントについても、設定しておいたほうが良いでしょう。
Laravelをインストールしたら、ローカル動作環境の設定もしておきましょう。
きれいなURL
Apache
index.php
をURLへ付けなくても利用できるようにするため、public/.htaccess
ファイルが最初からフレームワークへ含まれています。Apacheを利用し、Laravelアプリケーションを動かす場合、mod_rewrite
モジュールを確実に有効にしてください。
Laravelに付属している、.htaccess
ファイルが、皆さんのApache環境で動作しない場合は、以下の設定を試してください。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Nginx
Nginxでは、以下の仮想ホストの設定により、「きれいな」URLが使えるようになります。
location / {
try_files $uri $uri/ /index.php?$query_string;
}
もちろん、Homesteadを使う場合は、きれいなURLが自動的に設定されます。
動作環境設定
アプリケーションを実行する環境に基づいて、異なった設定値を使用できれば、多くの場面で便利です。たとえばローカル環境では実働環境とは異なったキャッシュドライバーを使いたいときなどです。環境ベースの設定で簡単にできます。
LaravelはVance Lucasさんにより作成された、DotEnvを活用しているので朝飯前です。インストールしたてのLaravelでは、アプリケーションのルートディレクトリーに.env.example
ファイルが含まれています。Composerを利用してLaravelをインストールしたら、このファイルは自動的に.env
へリネームされます。Composerを使用しない場合は、自分で名前を変更してください。
このファイルにリストされている全変数は、アプリケーションがリクエストを受け取ると、$_ENV
PHPスーパーグローバルへロードされます。これらの変数から値を取得するには、env
ヘルパが使用できます。実際、Laravelの設定ファイルを調べてみれば、多くのオプションでこのヘルパが使用されていることに気がつきます!
ローカルサーバーの要求に合わせ、環境変数を変更してください。実働環境でも同様です。しかし、.env
ファイルをアプリケーションのソース管理下へ追加してはいけません。アプリケーションを利用する各開発者/サーバーが、別々の環境値を設定できるからです。
チームにより開発を行っているならば、アプリケーションに.env.example
ファイルを含めておいたほうが良いでしょう。example設定ファイルへプレースフォルダー値を入れておけば、他の開発者はアプリケーションを実行するために、どの環境変数の設定が必要なのか明確に理解できます。
現在の動作環境へのアクセス
現在のアプリケーションの動作環境は、.env
ファイルのAPP_ENV
変数により決まります。App
ファサードのenvironment
メソッドにより、この値にアクセスできます。
$environment = App::environment();
また、environment
メソッドの引数を渡せば、指定した値に動作環境が一致するか確認できます。必要であれば、複数の環境を指定できます。
if (App::environment('local')) {
// 環境はlocal…
}
if (App::environment('local', 'staging')) {
// 環境はlocalかstaging…
}
アプリケーションインスタンスへはapp
ヘルパでもアクセスできます。
$environment = app()->environment();
設定のキャッシュ
アプリケーションをスピードアップするために、config:cache
Artisanコマンドで、全ての設定ファイルを一つにまとめることができます。このコマンドは全設定オプションを一つのファイルへ結合し、フレームワークが素早くロードできるようにします。
通常はデプロイ手順の一部として、php artisan config:cache
コマンドを実行すべきでしょう。アプリケーション開発の途中で頻繁に設定のオプションを変更する必要あるローカル開発期間中は、このコマンドを実行すべきではありません。
設定値へのアクセス
設定値にはグローバルconfig
ヘルパ関数を使い、簡単にアクセスできます。設定値には「ドット」記法でアクセスします。ファイル名に続けてアクセスしたいオプションです。設定オプションが存在しない場合、デフォルト値が返されます。
$value = config('app.timezone');
設定値を実行時に設定するには、config
ヘルパに配列を渡してください。
config(['app.timezone' => 'America/Chicago']);
アプリケーションの命名
Laravelをインストールすると、アプリケーションに「名前」を付けたくなります。app
ディレクトリーはデフォルトでApp
名前空間下にあり、PSR-4オートローディング規約へ従い、Composerによりオートローディングされます。しかし、app:name
Artisanコマンドにより、簡単にアプリケーションに適した名前空間へ変更できます。
例えばアプリケーションを"Horsefly"と名付けたければ、インストールルートのディレクトリーで、次のコマンドを実行してください。
php artisan app:name Horsefly
アプリケーションの名前付けは強制ではありません。App
名前空間のままでもかまいません。
メンテナンスモード
アプリケーションがメンテナンスモードの場合、そのアプリケーションで指定した全リクエストでカスタムビューを表示する必要があります。これにより、アップデートやメンテナンスを実行する時、簡単にアプリケーションを「停止」させることができます。メンテナンスモードのチェックは、アプリケーションのデフォルトミドルウェア中で行われています。アプリケーションがメンテナンスモードの場合、503のステータスコードと共に、HttpException
例外が投げられます。
メンテナンスモードへ切り換える場合は、down
Artisanコマンドを実行するだけです。
php artisan down
メンテナンスモードを解除する場合は、up
コマンドを使用します。
php artisan up
メンテナンスモード対応テンプレート
メンテナンスモードで使用されるデフォルトのテンプレートは、resources/views/errors/503.blade.php
に存在しています。
メンテナンスモードとキュー
アプリケーションがメンテナンスモードの場合、キューのジョブは処理されません。メンテナンスモードが解除され、アプリケーションが通常モードになった時点で処理が続けられます。