我是PHP新手。扩展mysqli并使用多个类
我想创建类数据库并从它调用其他类。我是否正确地做这件事?
级数据库:
class database extends mysqli {
private $classes = array();
public function __construct() {
parent::__construct('localhost', 'root', 'password', 'database');
if (mysqli_connect_error()) {
$this->error(mysqli_connect_errno(), mysqli_connect_error());
}
}
public function __call($class, $args) {
if (!isset($this->classes[$class])) {
$class = 'db_'.$class;
$this->classes[$class] = new $class();
}
return $this->classes[$class];
}
private function error($eNo, $eMsg) {
die ('MySQL error: ('.$eNo.': '.$eMsg);
}
}
类db_users:
class db_users extends database {
public function test() {
echo 'foo';
}
}
,以及如何我使用它
$db = new database();
$db->users()->test();
是正确的方式还是应该做另一种方式?
谢谢。
似乎有什么不对您的代码。我不确定你在这里问什么。 作为一个方面说明,我建议不要扩展mysqli并将其组合到您的课堂中。它没有出现,因为你在这一点上获得了延伸它的任何东西。 – tylermac 2010-05-19 13:24:31
感谢您的评论。我担心的是$ db-> users() - > test();.我可以用__call()创建新的类,或者我应该每次都做一些像$ u = new db_users(); $ U->试验(); – Mikk 2010-05-19 13:30:20