Readouble

Laravel 4.2 設定

イントロダクションIntroduction

Laravelフレームワークの全設定ファイルはapp/configディレクトリーの中に設置されています。全ファイル中の、それぞれのオプションにコメントが入っています。自由にご覧になり、用意されたオプションを理解してください。All of the configuration files for the Laravel framework are stored in the app/config directory. Each option in every file is documented, so feel free to look through the files and get familiar with the options available to you.

実行中に設定値へアクセスする必要が起きることもあるでしょう。Configクラスを使ってください。Sometimes you may need to access configuration values at run-time. You may do so using the Config class:

設定値へアクセスするAccessing A Configuration Value

Config::get('app.timezone');

設定オプションが存在しない場合、指定したデフォルト値を返すようにすることも可能です。You may also specify a default value to return if the configuration option does not exist:

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

設定値をセットするSetting A Configuration Value

「ドット(ピリオド)」スタイルの記法で様々なファイルの設定値にアクセスできることに注目してください。また、実行時に設定値をセットすることもできます。Notice that "dot" style syntax may be used to access values in the various files. You may also set configuration values at run-time:

Config::set('database.default', 'sqlite');

設定値はこのリクエストの実行時間の間のみ保持されます。次のリクエストに持ち越されることはありません。Configuration values that are set at run-time are only set for the current request, and will not be carried over to subsequent requests.

環境の設定Environment Configuration

アプリケーションを実行している環境に基づいて、異なった設定値を使用できれば、多くの場合に役立つでしょう。例えば、実働サーバーと開発マシーンでは、別のキャッシュドライバーを使用したい場合です。これは簡単に実現でき、設定に基づいた環境を使用できます。It is often helpful to have different configuration values based on the environment the application is running in. For example, you may wish to use a different cache driver on your local development machine than on the production server. It is easy to accomplish this using environment based configuration.

localのような環境名と同じディレクトリーをconfigディレクトリーに作成してください。続いて、その環境でオーバーライドしたい特定のオプションを指定した、環境ファイルを作成します。例えば、ローカル環境のキャッシュドライバーをオーバーライドしたければ、app/config/localに次の内容のcache.phpファイルを作成してください。Simply create a folder within the config directory that matches your environment name, such as local. Next, create the configuration files you wish to override and specify the options for that environment. For example, to override the cache driver for the local environment, you would create a cache.php file in app/config/local with the following content:

<?php

return array(

	'driver' => 'file',

);

注目: testingを環境名として使用しないでください。これはユニットテストのための予約名です。Note: Do not use 'testing' as an environment name. This is reserved for unit testing.

元となる設定ファイルの全てのオプションを指定する必要はなく、オーバーライドしたいものだけで良いことに注意してください。環境による設定ファイルは元となるファイルを「カスケード(cascade)」形式でオーバーライドします。Notice that you do not have to specify every option that is in the base configuration file, but only the options you wish to override. The environment configuration files will "cascade" over the base files.

次にフレームワークにどの動作環境で動いているのかを教える必要があります。デフォルトの環境はproductionです。しかしながら、インストールした一番上の階層にあるbootstrap/start.phpファイルで、他の環境を設定することができます。このファイルの中に$app->detectEnvironmentの呼び出しを見つけてください。現在の環境を決定するための配列をこのメソッドに渡しています。必要であれば他の環境とマシーン名を配列に追加してください。Next, we need to instruct the framework how to determine which environment it is running in. The default environment is always production. However, you may setup other environments within the bootstrap/start.php file at the root of your installation. In this file you will find an $app->detectEnvironment call. The array passed to this method is used to determine the current environment. You may add other environments and machine names to the array as needed.

<?php

$env = $app->detectEnvironment(array(

    'local' => array('your-machine-name'),

));

この例で、'local'は環境の名前、'your-machine-name'はサーバーのホスト名を指します。LinuxとMacで、ホスト名はhostname端末コマンドで調べられます。In this example, 'local' is the name of the environment and 'your-machine-name' is the hostname of your server. On Linux and Mac, you may determine your hostname using the hostname terminal command.

環境の決定を更に柔軟に行いたい場合は、detectEnvironmentメソッドにクロージャーを渡し、お好きな方法で環境の決定コードを実装してください。If you need more flexible environment detection, you may pass a Closure to the detectEnvironment method, allowing you to implement environment detection however you wish:

$env = $app->detectEnvironment(function()
{
	return $_SERVER['MY_LARAVEL_ENV'];
});

現在のアプリケーションの環境にアクセスするAccessing The Current Application Environment

現在のアプリケーションの環境にはenvironmentメソッドによりアクセスできます。You may access the current application environment via the environment method:

$environment = App::environment();

'environment`メソッドに引数を渡すことで、指定した値の環境であるかを確認することができます。You may also pass arguments to the environment method to check if the environment matches a given value:

if (App::environment('local'))
{
	// 環境はlocal
}

if (App::environment('local', 'staging'))
{
	// 環境はlocalかstaging
}

プロバイダー設定Provider Configuration

動作環境による設定の使い分けを使用している場合、メインのapp設定ファイルに、環境ごとのサービスプロバイダーを追加(append)したいこともあるでしょう。しかしながら、この方法では、環境ごとのappファイルに指定した内容が、メインのapp設定ファイルをオーバーライトしてしまうことに、注意してください。プロバイダーを強制的に追加したい場合は、append_configヘルパメソッドをその環境のapp設定ファイルで使用してください。When using environment configuration, you may want to "append" environment service providers[/docs/4.2/ioc#service-providers] to your primary app configuration file. However, if you try this, you will notice the environment app providers are overriding the providers in your primary app configuration file. To force the providers to be appended, use the append_config helper method in your environment app configuration file:

'providers' => append_config(array(
	'LocalOnlyServiceProvider',
))

機密な設定の保護Protecting Sensitive Configuration

「現実の」アプリケーションでは、機密扱いの設定を全部、設定ファイルより外しておくことは、賢明な手法です。データーベースのパスワードやStripeのAPIキー、暗号化のキーは、できるのであればいつでも、設定ファイルから外しておきましょう。では、どこに置くのが良いのでしょうか?ありがたいことに、Laravelは「ドット」ファイルを使用し、これらの設定項目を保護する、シンプルな解決策を提供しています。For "real" applications, it is advisable to keep all of your sensitive configuration out of your configuration files. Things such as database passwords, Stripe API keys, and encryption keys should be kept out of your configuration files whenever possible. So, where should we place them? Thankfully, Laravel provides a very simple solution to protecting these types of configuration items using "dot" files.

最初に、アプリケーションの設定で、開発機をlocal環境として認識させます。次に、.env.local.phpファイルをプロジェクトのルート、通常はcomposer.jsonファイルが存在するディレクトリーへ、設置します。.env.local.phpファイルは、典型的なLaravelの設定ファイルと同様に、キー/値のペアの配列を返す必要があります。First, configure your application[/docs/4.2/configuration#environment-configuration] to recognize your machine as being in the local environment. Next, create a .env.local.php file within the root of your project, which is usually the same directory that contains your composer.json file. The .env.local.php should return an array of key-value pairs, much like a typical Laravel configuration file:

<?php

return array(

	'TEST_STRIPE_KEY' => 'super-secret-sauce',

);

このファイルから返されたキー/値のペアは全部、自動的に$_ENV$_SERVERのPHP「スーバーグローバル」を通じてアクセスできるようになります。次に、このグローバルで参照できる値を、設定ファイルで指定してください。All of the key-value pairs returned by this file will automatically be available via the $_ENV and $_SERVER PHP "superglobals". You may now reference these globals from within your configuration files:

'key' => $_ENV['TEST_STRIPE_KEY']

.env.local.phpファイルを確実に.gitignoreファイルに追加してください。これにより、あなたのチームメンバーは、自分自身のローカル環境設定を作成でき、それと同時に、ソースコントロールから、機密の設定アイテムを隠すことが可能になります。Be sure to add the .env.local.php file to your .gitignore file. This will allow other developers on your team to create their own local environment configuration, as well as hide your sensitive configuration items from source control.

次に実働サーバーで、.env.phpファイルをプロジェクトルートに作成し、実働環境に適した値を指定してください。.env.local.phpファイルと同様に、実働の.env.phpファイルはソースコントロールから除外すべきでしょう。Now, on your production server, create a .env.php file in your project root that contains the corresponding values for your production environment. Like the .env.local.php file, the production .env.php file should never be included in source control.

**注目:**アプリケーションがサポートする環境ごとに、このファイルを作成することができます。例えば、development環境では、.env.development.phpファイルが存在すれば、ロードされます。production環境の場合は、常に.env.phpファイルが使用されます。Note: You may create a file for each environment supported by your application. For example, the development environment will load the .env.development.php file if it exists. However, the production environment always uses the .env.php file.

メンテナンスモードMaintenance Mode

アプリケーションがメンテナンスモードの場合、アプリケーションで指定した全ルートでカスタムビューを表示する必要があります。これにより、アップデートやメンテナンスを実行する時、簡単にアプリケーションを「停止」させることができます。app/start/global.phpファイルの中でApp::downメソッドを呼び出しています。アプリケーションがメンテナンスモードの場合、このメソッドからのレスポンスがユーザーに送信されます。When your application is in maintenance mode, a custom view will be displayed for all routes into your application. This makes it easy to "disable" your application while it is updating or when you are performing maintenance. A call to the App::down method is already present in your app/start/global.php file. The response from this method will be sent to users when your application is in maintenance mode.

メンテナンスモードへ切り換える場合は、シンプルにdown Artisanコマンドを実行してください。To enable maintenance mode, simply execute the down Artisan command:

php artisan down

メンテナンスモードを解除する場合は、upコマンドを使用します。To disable maintenance mode, use the up command:

php artisan up

アプリケーションがメンテナンスモードの時にカスタムビューを表示したい場合は、app/start/global.phpへ以下のように指定してください。To show a custom view when your application is in maintenance mode, you may add something like the following to your application's app/start/global.php file:

App::down(function()
{
	return Response::view('maintenance', array(), 503);
});

downメソッドに渡されたクロージャーがNULLをリターンする場合、そのリクエストではメンテナンスモードが無視されます。If the Closure passed to the down method returns NULL, maintenance mode will be ignored for that request.

メンテナンスモードとキューMaintenance Mode & Queues

アプリケーションがメンテナンスモードの場合、キューのジョブは処理されません。メンテナンスモードが解除され、アプリケーションが通常モードになった時点で、処理が続けられます。While your application is in maintenance mode, no queue jobs[/docs/4.2/queues] will be handled. The jobs will continue to be handled as normal once the application is out of maintenance mode.

章選択

Artisan CLI

設定

明暗テーマ
light_mode
dark_mode
brightness_auto システム設定に合わせる
テーマ選択
photo_size_select_actual デフォルト
photo_size_select_actual モノクローム(白黒)
photo_size_select_actual Solarized風
photo_size_select_actual GitHub風(青ベース)
photo_size_select_actual Viva(黄緑ベース)
photo_size_select_actual Happy(紫ベース)
photo_size_select_actual Mint(緑ベース)
コードハイライトテーマ選択

明暗テーマごとに、コードハイライトのテーマを指定できます。

テーマ配色確認
スクリーン表示幅
640px
80%
90%
100%

768px以上の幅があるときのドキュメント部分表示幅です。

インデント
無し
1rem
2rem
3rem
原文確認
原文を全行表示
原文を一行ずつ表示
使用しない

※ 段落末のEボタンへカーソルオンで原文をPopupします。

Diff表示形式
色分けのみで区別
行頭の±で区別
削除線と追記で区別

※ [tl!…]形式の挿入削除行の表示形式です。

テストコード表示
両コード表示
Pestのみ表示
PHPUnitのみ表示
和文変換

対象文字列と置換文字列を半角スペースで区切ってください。(最大5組各10文字まで)

本文フォント

総称名以外はCSSと同様に、"〜"でエスケープしてください。

コードフォント

総称名以外はCSSと同様に、"〜"でエスケープしてください。

保存内容リセット

localStrageに保存してある設定項目をすべて削除し、デフォルト状態へ戻します。

ヘッダー項目移動

キーボード操作