png_92
یک شنبه 30 خرداد 1395, 12:41 عصر
سلام
من میخوام تو برنامم که با phpه از الگوی singleton استفاده کنم ولی نمیدونم چجوری باید بکار بگیرم. ی سوال دارم که اگه من ۳تا کلاس داشته باشم آیا باید فقط ی کلاس singleton داشته باشم
و بقیه ازون ارث ببرن؟ مثلا واسه کلاس connection من که کدش اینه :
class Database
{
private $host = "localhost";
private $db_name = "dbname";
private $username = "username";
private $password = "password";
public $conn;
public function dbConnection()
{
$this->conn = null;
try
{
$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $exception)
{
echo "Connection error: " . $exception->getMessage();
}
return $this->conn;
}
}
و اینم نمونه کد singleton :
class Singletone {
public static function getInstance() {
static $instance = null;
if (null === $instance) {
$instance = new static();
}
return $instance;
}
protected function __construct() {
}
private function __clone() {
}
private function __wakeup() {
}
}
اگه میشه راهنمایی کنید که چطور استفاده از این الگو ؟
آیا اگه من تو کلاسای دیگه بخوام از connection استفاده کنم , اونجا چجوری ی object بسازم ازش؟
مرسی
من میخوام تو برنامم که با phpه از الگوی singleton استفاده کنم ولی نمیدونم چجوری باید بکار بگیرم. ی سوال دارم که اگه من ۳تا کلاس داشته باشم آیا باید فقط ی کلاس singleton داشته باشم
و بقیه ازون ارث ببرن؟ مثلا واسه کلاس connection من که کدش اینه :
class Database
{
private $host = "localhost";
private $db_name = "dbname";
private $username = "username";
private $password = "password";
public $conn;
public function dbConnection()
{
$this->conn = null;
try
{
$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $exception)
{
echo "Connection error: " . $exception->getMessage();
}
return $this->conn;
}
}
و اینم نمونه کد singleton :
class Singletone {
public static function getInstance() {
static $instance = null;
if (null === $instance) {
$instance = new static();
}
return $instance;
}
protected function __construct() {
}
private function __clone() {
}
private function __wakeup() {
}
}
اگه میشه راهنمایی کنید که چطور استفاده از این الگو ؟
آیا اگه من تو کلاسای دیگه بخوام از connection استفاده کنم , اونجا چجوری ی object بسازم ازش؟
مرسی