Konfigurasi Phalcon

Phalcon \ Config adalah komponen yang digunakan untuk membaca file konfigurasi dalam berbagai format (menggunakan adaptor) menjadi obyek PHP untuk dapat digunakan dalam aplikasi.

File Adapter 

Adaptor yang tersedia adalah:

File Type Deskripsi
Ini Menggunakan file INI untuk menyimpan pengaturan. Secara internal adaptor menggunakan fungsi PHP parse_ini_file.
Array Menggunakan PHP array multidimensi untuk menyimpan pengaturan.Adaptor ini menawarkan performa terbaik.

Array asli/native 

Contoh berikutnya menunjukkan bagaimana mengkonversi array asli menjadi objek Phalcon \ Config. Pilihan ini menawarkan performa terbaik karena tidak ada file yang dibaca selama permintaan ini.

<?php

$settings = array(
    "database" => array(
        "adapter"  => "Mysql",
        "host"     => "localhost",
        "username" => "scott",
        "password" => "cheetah",
        "dbname"     => "test_db",
    ),
     "app" => array(
        "controllersDir" => "../app/controllers/",
        "modelsDir"      => "../app/models/",
        "viewsDir"       => "../app/views/",
    ),
    "mysetting" => "the-value"
);

$config = new \Phalcon\Config($settings);

echo $config->app->controllersDir, "\n";
echo $config->database->username, "\n";
echo $config->mysetting, "\n";

Jika Anda ingin lebih mengorganisir proyek Anda, Anda dapat menyimpan array di file lain dan kemudian membacanya.

<?php

require "config/config.php";
$config = new \Phalcon\Config($settings);

Membaca File INI 

File INI adalah cara umum untuk menyimpan pengaturan. Phalcon \ Config menggunakan dioptimalkan fungsi PHP parse_ini_file untuk membaca file-file ini. Bagian File dipecah menjadi sub-pengaturan untuk akses mudah.

[database]
adapter  = Mysql
host     = localhost
username = scott
password = cheetah
dbname     = test_db

[phalcon]
controllersDir = "../app/controllers/"
modelsDir      = "../app/models/"
viewsDir       = "../app/views/"

[models]
metadata.adapter  = "Memory"

Anda dapat membaca file dgn cara sebagai berikut:

<?php

$config = new \Phalcon\Config\Adapter\Ini("path/config.ini");

echo $config->phalcon->controllersDir, "\n";
echo $config->database->username, "\n";
echo $config->models->metadata->adapter, "\n";

Penggabungan Konfigurasi 

Phalcon \ Config memungkinkan untuk menggabungkan objek konfigurasi satu sama lain secara rekursif:

<?php

$config = new \Phalcon\Config(array(
    'database' => array(
        'host' => 'localhost',
        'dbname' => 'test_db'
    ),
    'debug' => 1
));

$config2 = new \Phalcon\Config(array(
    'database' => array(
        'username' => 'scott',
        'password' => 'secret',
    )
));

$config->merge($config2);

print_r($config);

Kode di atas menghasilkan berikut ini:

Phalcon\Config Object
(
    [database] => Phalcon\Config Object
        (
            [host] => localhost
            [dbname] => test_db
            [username] => scott
            [password] => secret
        )
    [debug] => 1
)

Ada lebih adapter yang tersedia untuk komponen ini di Phalcon Inkubator

Diterjemahkan dr Membaca Konfigurasi Phalcon
http://docs.phalconphp.com/en/latest/reference/config.html