|
|
|
| начал базовый принцип ООП, решил для лучшего понимания разобраться в работе готового скрипта, и вот наткнулся на такой метод,
в начале класса объявдена переменная
private static $instance;
|
и в классе идет обращение примерно такого содержания
$inConf = cmsConfig::getInstance();
|
сам метод выглядит так:
public static function getInstance() {
if (self::$instance === null) {
self::$instance = new self;
}
return self::$instance;
}
|
помогите понять что он выполняет и как он работает? | |
|
|
|
|
|
|
|
|
для: Гость
(08.06.2011 в 08:21)
| | спасибо!
Цель
Гарантирует, что у класса есть только один экземпляр, и
предоставляет к нему глобальную точку доступа. Существенно
то, что можно пользоваться именно экземпляром класса, так как
при этом во многих случаях становится доступной более широкая
функциональность. Например, к описанным компонентам класса
можно обращаться через интерфейс, если такая возможность
поддерживается языком.
|
а для чего нужно, чтоб был один экземпляр класса? | |
|
|
|
|
|
|
|
для: Bvz
(08.06.2011 в 08:49)
| | Цели могут быть разные, например, для регистрации событий или запросов в очереди. В этом случае такой шаблон гарантирует, что не будет создаваться две очереди, которые будут конфликтовать друг с другом за ресурсы. | |
|
|
|
|
|
|
|
для: cheops
(08.06.2011 в 09:01)
| | ну да это удобно | |
|
|
|