Я заметил, что ключевое слово static
в PHP не совсем static
.
Допустим, Elmo
– мой синглтон:
class Elmo { private static $instance; private function __construct() { echo 'Elmo says constructor\n'; } public static function getInstance() { if (!isset(self::$instance)) self::$instance = new Elmo(); return self::$instance; } public function boo() { echo 'Elmo says boo!\n'; } }
И следующий файл – это просто обычный скрипт .php
.
<?php Elmo::getInstance()->boo(); Elmo::getInstance()->boo(); // Output: // Elmo says constructor // Elmo says boo! // Elmo says boo! ?>
Каждая новая страница Elmo
реконструируется. Почему последующие страницы не имеют следующего вывода?
<?php // Output: // Elmo says boo! // Elmo says boo! ?>
Надеюсь, кто-то может просветить меня на этом, спасибо!