Thorn
Guest
Паттерн Singleton на PHP5
Вот есть реализация паттерна Singleton на PHP5.
Применение:
или
Все бы хорошо, свои функции он выполняет, но есть один момент. Разве должен быть возможен прямой вызов метода run() ?
результат:
method run() in Singleton class
метод ведь не статический ? кто нибудь может подсказать почему он успешно вызывается ? версия PHP - 5.0.2
Вот есть реализация паттерна Singleton на PHP5.
PHP:
class Singleton
{
// Hold an instance of the class
static private $_instance;
private function __construct()
{
// Used to prevent object from direct creation
}
// The singleton method
static public function instance()
{
if (!isset(self::$_instance)) {
self::$_instance = new Singleton;
}
return self::$_instance;
}
// Example method
public function run()
{
echo "method run() in Singleton class";
}
}
PHP:
$singleton = Singleton::instance();
$singleton->run();
PHP:
Singleton::instance()->run();
PHP:
Singleton::run();
method run() in Singleton class
метод ведь не статический ? кто нибудь может подсказать почему он успешно вызывается ? версия PHP - 5.0.2