10

たとえば、次のように、グローバルに使用されているソーシャル リンクを含む ini ファイルのセクションがあります。

[social]
fb = URL
twitter = URL
linkedin = URL

これらにアクセスする最も簡単な方法は何ですか、またはこれらのグローバル変数を整理するより良い方法はありますか?

4

1 に答える 1

26

アプリケーションの初期化/ブートストラップ時に構成ファイルを読み取り、それを DI コンテナーに保存すると、アプリのすべての部分でそれを介してアクセスできるようになります。

例 - ブートストラップ

$di         = new \Phalcon\DI\FactoryDefault();
$configFile = ROOT_PATH . '/app/var/config/config.ini';

// Create the new object
$config = new \Phalcon\Config\Adapter\Ini($configFile);

// Store it in the Di container
$di->set('config', $config);

これで、コントローラーでこれにアクセスできます。

echo $this->config->social->twitter;

Volt 経由のビュー:

{{ config.social.twitter }}

ベースコントローラーを介して、ビューで構成の特定の部分をいつでも設定できます。

class ControllerBase() 
{
    public function initialize()
    {
        parent::initialize();

        $this->view->setVar('social', $this->config->social);
    }
}

次に、ビューからその変数にアクセスします。

{{ social.twitter }}
于 2014-01-09T16:21:20.947 に答える