Есть ли простой способ сделать объект класса глобальным для всего приложения в PHP?Мне нужно, чтобы мой класс мог быть создан только один раз по всему приложению и чтобы он работал на 100%.
Спасибо.
РЕДАКТИРОВАТЬ
Решил, что шаблон Singleton - лучшая идея для того, что мне нужно, и мне было предложено добавить немного кода, вот оно:
Использование класса в моем приложении:
function catp_check_request(){
$catp=catp::getInstance();
$dlinks=array();
$ddlinks=array();
foreach($catp->rawlinks->link as $rawlink){
$dellink="catp-del-{$rawlink->name}";
array_push($dlinks,$dellink);
}
// More stuff..
}
Объявлениекласс:
class catp {
private static $instance;
private $errors;
private $status_messages;
private $plugin_name;
private $plugin_shortname;
private $links;
private $linksurl;
private $rawlinks;
private function __construct(){}
public static function getInstance() {
if (self::$instance == null) {
self::$instance = new catp();
}
return self::$instance;
}
public function catp(){
$this->errors=false;
$this->plugin_name='CloakandTrack Plugin';
$this->plugin_shortname='CaTP';
$this->status_messages=array(
'updated' => 'You just updated',
'enabled' => 'You just enabled',
'disabled' => 'You just disabled',
'debug' => 'Plugin is in debug mode'
);
$this->linksurl=dirname(__FILE__).'/links.xml';
$this->rawlinks=simplexml_load_file($this->linksurl);
$this->links=$this->catp_parse_links($this->rawlinks);
}
// More functions..
}