我有3节课(Mysqliconn,用户和新闻)。
Mysqliconn.class
Class Mysqliconn {
..connect to db
}
News.class
class News {
private $db;
public function __construct( Mysqliconn $db ) {
$this->db = $db;
}
public test() {
do something...
}
}
Users.class
class Users {
private $db;
public function __construct( Mysqliconn $db ) {
$this->db = $db;
}
public test2() {
do something...
}
}
在我的php页面
$db = new Mysqliconn();
$nw = new News( $db );
$us = new Users( $db )
$us->test2();
$nw->test();
我的错误
Catchable fatal error: Argument 1
passed to Users::__construct() must be an instance of Mysqliconn,
none given, called in ....\class\class.news.php
现在在我的班级用户中我想调用一个News类方法, 但如果我尝试在类用户中解决类新闻,我会收到错误。
我该怎么做? 感谢。
答案 0 :(得分:1)
Plz发布你得到的错误。否则很难捕捉到问题。但是,如果您不想在用户类中实例化新闻类,则可以像
一样访问它class News
{
// news class
}
class Users
{
public function some_method(News $news){
// work with the $news object
}
}
$us = new Users();
$us->some_method(new News(/*$db*/));
这只是一个基本代码,可以让您了解如何使用它。在生产环境中,您必须采取许多预防措施。