我了解单例模式,但我不了解以下语法:
public static function get()
{
static $db = null;
if ( $db == null )
$db = new DatabaseConnection();
return $db;
}
private function __construct()
{
$dsn = 'mysql://root:password@localhost/photos';
$this->_handle =& DB::Connect( $dsn, array() );
}
为什么每次调用 DatabaseConnection::get() 都可以得到同一个单例对象?因为从我这里读到的代码会喜欢:
static $db = null; //set $db object to be null
if($db==null) // $db is null at the moment every time because we just set it to be null
// call the private constructor every time we call get() *
$db = new DatabaseConnection();
return $db; // return the created
那么 get() 函数如何总是返回相同的对象呢?
我是 Php 的新手,对我来说大部分语法都会读起来像 java,请任何人都可以向我解释一下吗?
还有我可以阅读的任何说明/教程以了解更多语法糖,例如:
$array_object[] = $added_item