Heim >Backend-Entwicklung >PHP-Tutorial >Kann eine bestimmte Klasse in PHP global erweitert werden?
Das Projekt, an dem ich arbeite, ist voller Aussagen wie global $app;
. Gibt es eine Möglichkeit, global $app;
direkt ohne $app
zu verwenden?
Das Projekt, an dem ich arbeite, ist voller Aussagen wie global $app;
. Gibt es eine Möglichkeit, global $app;
direkt ohne $app
zu verwenden?
Unabhängig von OOP sind Variablen außerhalb von Funktionen in PHP globale Variablen.
Wenn Sie globale Variablen innerhalb einer Funktion verwenden möchten, können Sie natürlich auch die Übergabe von Parametern in Betracht ziehen > PHP selbst stellt viele „super“ globale Variablen wie $_SERVER/$_COOKIE usw. bereit, die keine globale Deklaration erfordern.
Die Windows-Registrierung erscheint PHPer als
Hash-Tabelle (mehrdimensional). Array) im globalen Bereich, der Konfigurationsinformationen verschiedener Anwendungen und Module speichern kann. Warum schließt die PHP-Webanwendung ein solches globales Array auf Anwendungsebene aus? Wie Discuz! gibt es ein solches globales Array mit dem Namen $_G[].$win = array();
<code><?php class App { private static $options = array( 'db_host' => '127.0.0.1', 'db_user' => 'yaber', 'db_pass' => '123456', 'db_name' => 'yabase', 'db_port' => 3306 ); public static function config($key = '') { return ($key == '') ? self::$options : self::$options[$key]; } } function bar() { echo App::config('db_name'); } bar(); //输出 yabase</code>Der größte Vorteil statischer Methoden einer Klasse besteht darin, dass die Klasse direkt ohne Instanziierung verwendet werden kann, sie jedoch nicht auf die nicht statischen Mitgliedsvariablen und Methoden der Klasse zugreifen kann.