2009-05-25 5 views

Antwort

2

Normalerweise verwende ich die Datei "bootstrap.php" im Ordner "config".

0

Wenn Sie nicht wollen, zu „begrenzen“ selbst zu dem, was CakePHP gibt Ihnen, können Sie entweder eine globale Variable verwenden (yukk) oder einfach wickeln Sie es in einer Klasse:

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

Oder die Singleton verwenden -Muster:

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; 
    } 
} 

Dann können Sie tun:

var_dump(Foo::$bar); 

oder

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

Nun, ich benutze ein bisschen von beiden in der bootstrap.php Ich richte das Singleton-Muster ein. Vielen Dank Jungs – Giancarlo

15

Verwenden Sie die Configure-Klasse.

In app/config/bootstrap.php:

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

Dann überall in Ihrer App, z. Modelle, Ansichten, Controller, Helfer, Verhaltensweisen, Komponenten usw. greifen einfach darauf zu:

$ myArray = Konfigurieren :: lesen ('myArray'); // $ myArray enthält Array (1,2,3)

+1

Neil ist richtig. Bedenken Sie jedoch, dass das globale Teilen von Daten ein großer Zeitindikator für schlechten Design- und Datenfluss sein kann. Also nutze das weise. –

Verwandte Themen