Domanda

Ho una sezione in file INI con alcuni collegamenti sociali usati a livello globale, per EX:

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

Qual è il modo più semplice per accedervi, o c'è un modo migliore per organizzare queste variabili globali?

È stato utile?

Soluzione

Se leggi il tuo file di configurazione al momento dell'inizializzazione / bootstraping della tua applicazione e lo memorizza nel contenitore di DIT, quindi sarà accessibile attraverso quello in ogni parte della tua app.

Esempio - Bootstrap

$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);
.

Ora puoi accedervi nel tuo controller come tale:

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

Viste tramite Volt:

{{ config.social.twitter }}
.

È possibile impostare sempre quella particolare parte della configurazione nelle viste tramite un controller di base.

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

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

e quindi accedere a quella variabile attraverso la tua vista:

{{ social.twitter }}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top