PHP - Делаем объект класса глобальным для всего приложения?

Есть ли простой способ сделать объект класса глобальным для всего приложения в PHP? Мне нужно, чтобы мой класс мог быть создан только один раз во всем приложении и чтобы он работал на 100%.

Спасибо.

EDIT

Решил, что шаблон 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..

}
5
задан Jared 17 July 2011 в 09:05
поделиться