このリポジトリはPHP Webアプリフレームワークである、LaravelのLTSバージョンである5.5の公式英文ドキュメントを日本語へ翻訳しています。
This project is maintained by okinaka
{video} 動画で学びたい?このフレームワークを学んでいる初心者のために、LaracastsはLaravelの概略を無料動画で提供しています。学び始めるには、最適のサイトです。
Laravelフレームワークを動作させるには多少のシステム要件があります。もちろん、Laravel Homestead仮想マシンでは、要求が全て満たされています。ですから、Laravelのローカル開発環境としてHomesteadを活用されることを強くおすすめします。
しかし、Homesteadを使用しない場合は、以下の要件を満たす必要があります。
LaravelはComposerを依存パッケージの管理に使用しています。ですから、Laravelを始める前に、自分の開発機にComposerを確実にインストールしておいてください。
最初にComposerを使用し、Laravelインストーラをダウンロードします。
composer global require "laravel/installer"
皆さんのシステムの、どこへlaravel実行ファイルが設置されても動作するように、グローバルなComposerのbinディレクトリを$PATHへ登録してください。このディレクトリはオペレーティングシステムにより場所が異なります。通常は、以下の場所です。
$HOME/.composer/vendor/bin$HOME/.config/composer/vendor/binインストールし終えたら、laravel newコマンドにより、指定したディレクトリに真新しいLaravelプロジェクトを作成できます。例えば、laravel new blogを実行すると、blogという名前のディレクトへ、必要とするパッケージが全部揃った、真新しいLaravelがインストールされます。
laravel new blog
ターミナルでComposerのcreate-projectコマンドを実行し、Laravelをインストールする方法もあります。
composer create-project --prefer-dist laravel/laravel blog
PHPがローカルにインストール済みで、PHPの組込み開発サーバをアプリケーションサーバとして使いたい場合は、serve Artisanコマンドを使用します。このコマンドは、開発サーバをhttp://localhost:8000として起動します。
php artisan serve
もちろん、より堅牢なローカル開発の選択肢として、HomesteadとValetも利用できます。
Laravelをインストールできたら、Webサーバのドキュメント/Webルートがpublicディレクトリになるように設定してください。このディレクトリのindex.phpは、アプリケーションへ送信された、全HTTPリクエストを始めに処理するフロントコントローラとして動作します。
フレームワークで使用する設定ファイルは全てconfigディレクトリ下に設置しています。それぞれのオプションにコメントがついていますので、使用可能なオプションを理解するため、ファイル全体に目を通しておくのが良いでしょう。
Laravelをインストールした後に、多少のパーミッションの設定が必要です。storage下とbootstrap/cacheディレクトリをWebサーバから書き込み可能にしてください。設定しないとLaravelは正しく実行されません。Homestead仮想マシンを使用する場合は、あらかじめ設定されています。
次にインストール後に行うべきなのは、アプリケーションキーにランダムな文字列を設定することです。ComposerかLaravelインストーラを使ってインストールしていれば、php artisan key:generateコマンドにより、既に設定されています。
通常、この文字列は32文字にすべきです。キーは.env環境ファイルに設定されます。もし、.env.exampleファイルをまだ.envにリネームしていなければ、今すぐ行ってください。アプリケーションキーが設定されていなければ、ユーザーセッションや他の暗号化済みデーターは安全ではありません!
Laravelのその他の設定は、最初に指定する必要がありません。すぐに開発を開始しても大丈夫です! しかし、config/app.phpファイルと、その中の記述を確認しておいたほうが良いでしょう。アプリケーションに合わせ変更したい、timezoneやlocalのような多くのオプションが含まれています。
以下のようなLaravelのコンポーネントについても、設定しておいたほうが良いでしょう。
URLパスにフロントコントローラのindex.phpを付けなくても良いように、Laravelはpublic/.htaccessファイルを用意しています。LaravelをApache上で動作させるときは、確実にmod_rewriteモジュールを有効に設定し、そのサーバで.htaccessファイルを動作させます。
Laravelに用意されている.htaccessファイルが、インストールしたApacheで動作しない場合は、以下の代替設定を試してください。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Nginxを使用する場合は、全てのリクエストがindex.phpフロントコントローラへ集まるように、サイト設定に以下のディレクティブを使用します。
location / {
try_files $uri $uri/ /index.php?$query_string;
}