oop - PHP singleton pattern -
hello there want learn singleton pattern in php, have class:
class database { private static $instance; private function __construct() { } public static function getinstance() { if (!self::$instance) { self::$instance= new database(); } return self::$instance; } public function query($table) { $this->query = 'select * $table'; } public function result() { echo $this->query; } } $db = database::getinstance();
and , posible call result() method , print value set query() "select * $table" using singleton?
i want code in like:
$db->query('user_tb')->result(); //output select * user_tb;
update:
to able call like:
$db->query('user_tb')->result();
you need put return $this;
in method want chain, in case query
method:
public function query($table) { $this->query = "select * $table"; return $this; }
now can call : $db->query('user_tb')->result();
working example
-------------------------------------------------------------------------------------------
first modify in query()
method:
$this->query = 'select * $table';
to:
$this->query = 'select * ' . $table;
since inside single quotes
, variables not parsed.
and define $query
@ class level this:
class database { private static $instance; private $query = ''; // more code }
and can run it:
$db = database::getinstance(); // class instance $db->query('user_tb'); // set $query var $db->result(); // $query var
result:
select * user_tb
Comments
Post a Comment