Skip to content

Latest commit

 

History

History
112 lines (73 loc) · 7.56 KB

configuration.md

File metadata and controls

112 lines (73 loc) · 7.56 KB

Configuration

Pengantar

Semua file-file konfigurasi untuk framework Laravel disimpan dalam direktori app/config. Setiap opsi dalam setiap file didokumentasikan, jadi silahkan melihat-lihat file-file tersebut dan akrabkan diri Anda dengan opsi-opsi yang tersedia.

Kadang-kadang Anda mungkin perlu untuk mengakses nilai konfigurasi pada saat run-time. Anda dapat melakukannya dengan menggunakan class Config:

Mengakses Nilai Konfigurasi

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

Anda juga dapat menentukan nilai default untuk dikembalikan hasilnya jika opsi konfigurasi tidak diketemukan:

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

Perhatikan bahwa sintaks dengan gaya "dot" dapat digunakan untuk mengakses nilai dalam berbagai file. Anda juga dapat menetapkan nilai konfigurasi saat run-time:

Menetapkan Sebuah Nilai Konfigurasi

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

Nilai konfigurasi yang ditetapkan pada saat run-time hanya ditetapkan untuk permintaan tersebut, dan tidak akan dibawa ke permintaan berikutnya.

Konfigurasi Lingkungan

Terkadang sangat membantu untuk memiliki nilai konfigurasi yang berbeda berdasarkan pada lingkungan berjalannya aplikasi. Sebagai contoh, Anda mungkin ingin menggunakan driver cache yang berbeda pada mesin pengembangan lokal Anda daripada di server produksi. Sangat mudah untuk melakukannya dengan menggunakan konfigurasi berbasis lingkungan.

Cukup membuat folder dalam direktori config yang sesuai dengan nama lingkungan Anda, seperti lokal. Selanjutnya, buat file konfigurasi yang Anda ingin timpa dan tentukan opsi-opsi untuk lingkungan tersebut. Misalnya, untuk menimpa driver cache untuk lingkungan setempat, Anda akan membuat sebuah File cache.php di app/config/local dengan konten seperti berikut:

<?php

return array(

	'driver' => 'file',

);

** Catatan: ** Jangan gunakan kata 'testing' sebagai nama lingkungan. Kata ini disediakan hanya untuk unit testing.

Perhatikan bahwa Anda tidak harus menentukan semua opsi yang ada di file konfigurasi dasar, tapi hanya opsi yang Anda ingin timpa saja. File-file konfigurasi lingkungan akan "cascade" terhadap file dasar.

Selanjutnya, kita perlu untuk menginstruksikan kepada framework tentang bagaimana cara menentukan lingkungan apa yang sedang berjalan untuk framework tersebut. Lingkungan default selalu lingkungan produksi. Namun, Anda mungkin mengatur lingkungan lainnya dalam file bootstrap/start.php pada akar instalasi Anda. Dalam file ini Anda akan menemukan sebuah panggilan $app->detectEnvironment. Array yang dilewatkan ke metode ini digunakan untuk menentukan lingkungan saat itu. Anda dapat menambahkan lingkungan lain dan nama mesin ke array yang diperlukan.

<?php

$env = $app->detectEnvironment(array(

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

));

Anda juga dapat memberi Closure pada metode detectEnvironment, memungkinkan Anda untuk menerapkan fungsi deteksi lingkungan Anda sendiri:

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

Anda dapat mengakses lingkungan aplikasi saat ini melalui metode lingkungan:

Mengakses Lingkungan Aplikasi Saat Ini

$environment = App::environment();

Modus Pemeliharaan

Ketika aplikasi Anda sedang dalam modus pemeliharaan, tampilan kustom akan ditampilkan untuk semua rute ke dalam aplikasi Anda. Hal ini membuat mudah untuk "menonaktifkan" aplikasi Anda ketika sedang diperbarui. Panggilan untuk metode App::down sudah terdapat pada file app/start/global.php. Respon dari metode ini akan dikirim ke pengguna ketika aplikasi Anda dalam modus pemeliharaan.

Untuk mengaktifkan modus pemeliharaan, cukup jalankan perintah down lewat Artisan:

php artisan down

Untuk menonaktifkan modus pemeliharaan, gunakan perintah up:

php artisan up

Untuk menampilkan tampilan kustom saat aplikasi Anda dalam modus pemeliharaan, Anda dapat menambahkan sesuatu seperti berikut ini untuk aplikasi Anda pada file app/start/global.php:

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