Cakephp, nasıl ben tüm uygulama bir dizi erişebilirsiniz

3 Cevap php

CakePHP, nasıl ben tüm uygulama ile kullandığımız bir dizi erişilebilir yapabilirsiniz? PHP'nin () işlevini tanımlamak bir eşdeğeri var mı?

3 Cevap

Yapılandırma sınıfını kullanın.

App / config / bootstrap.php In:

Configure :: write ('myArray', array (1,2,3));

Sonra her yerde app, örneğin modelleri, görünümleri, kontrolörler, yardımcıları, davranışları, bileşenler vs vs sadece kullanarak erişebilirsiniz:

$ MyArray = Yapılandırma :: ('myArray') okundu; / / $ MyArray dizi içerecektir (1,2,3)

Ben normalde "config" klasöründe bulunan "bootstrap.php" dosyasını kullanabilirsiniz.

Eğer CakePHP verir ne kendinizi "sınırlamak" için istemiyveyasanız, bir global değişken (yukk) kullanın ya da sadece bir sınıfta kaydırmak ya:

class Foo {
    public static $bar = { 3, 7, 42 };
}

: Veya singleton-desen kullanın

class Foo {
    private static $instance = null;
    public $myVar;

    private function __construct() {
        $this->myVar = { 3, 7, 42 };
    }

    public static function getInstance() {
        if (self::$instance == null) {
            self::$instance = new self();
        }
        return self::$instance;
    }
}

Sonra yapabilirsiniz:

var_dump(Foo::$bar);

veya

var_dump(Foo::getInstance()->myVar);