Я просто погружаюсь в php, когда вы работаете в vb.net.PHP Singleton: не содержит экземпляр
Я хочу написать класс регистратора, который работает как singleon над моей веб-приложение, вот код:
class cLog{
private $data = NULL;
static private $instance = NULL;
static public function getInstance(){
if(self::$instance == NULL){
echo "empty!";
self::$instance = new cLog();
}
return self::$instance;
}
private function __construct(){
}
private function __clone(){
}
public function getData(){
return self::getInstance()->data;
}
public function trace($o){
self::getInstance()->data[] = $o;
}
}
Что я ожидаю, что, как я переключаться между страницами моего приложения, которые делают несколько вызовов к засорению :: trace(), массив данных увеличивается и заполняется всеми трассами. Но я получаю: каждый раз, когда я запускаю страницу, экземпляр $ имеет значение null, поэтому объект перезапускается (как вы можете видеть, я помещал эхо-строку «пустое!» В экземпляр getter: он показывает каждый раз)
I думаю, есть что-то я недоразумение в PHP прикладном жизненного цикла ....
Здесь есть пример использования:
cLog::getInstance()->trace("hello world");
$logs = cLog::getInstance()->getData();
Благодаря
Это хорошее предложение, но моя purpouse должна войти в контакт с функциями php.Если я начну копировать код, я уверен, что я нахожусь в неприятностях, отлаживая некоторые сценарии, которые я даже не знаю, как они работают. Возможно, у меня будет взгляд и вдохновение, но настоящая проблема в моем классе (таким образом, моя проблема) заключалась в том, что я не понимал, что больше не развиваюсь в .NET! – balanza