我以前使用数据库的方式是
class sitedb
{
public $db = '';
public $config;
public $settings = array(
'host' => "localhost",
'database' => "database",
'username' => "user",
'password' => "pass",
);
public function __construct(){
$this->db = new PDO(
"mysql:host={$this->settings['host']};" .
"dbname={$this->settings['database']};" .
"charset=utf8",
"{$this->settings['username']}",
"{$this->settings['password']}"
);
$this->db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
}
}
然后说我有一个使用此数据库的用户脚本
class User {
public function __construct() {
$this->db = new sitedb();
}
}
现在我的代码中可以使用$resource = $this->db->db->prepare($query);
我的一位朋友最近建议我使用命名空间代替,每次都会比构造函数更容易,但不知道如何解决这个问题。
我有我的数据库类文件
namespace database;
class site
{
public $db = '';
public $config;
public $settings = array(
'host' => "localhost",
'database' => "database",
'username' => "user",
'password' => "pass",
);
public function __construct(){
$this->db = new PDO(
"mysql:host={$this->settings['host']};" .
"dbname={$this->settings['database']};" .
"charset=utf8",
"{$this->settings['username']}",
"{$this->settings['password']}"
);
$this->db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
}
}
class auth
{
}
我的思考过程是我可以使用
$resource = \database\site::????
现在我对如何实际连接感到茫然。我希望我能够很好地阐明我的问题,以展示我所追求的目标。我只是不确定如何使用它来实际连接到数据库。