繁体   English   中英

PHP将类的方法调用到另一个类

[英]PHP call class method to another class

我上了3节课(Mysqliconn,用户和新闻)。

Mysqliconn.class

Class Mysqliconn {
..connect to db
}

新闻类

class News {
private $db;

   public function __construct( Mysqliconn $db ) {

   $this->db = $db; 
   }

   public test() {
     do something... 
   }
 }

用户类

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 

现在,在类Users中,我想调用News类的方法,但是如果我尝试在类Users中实例化News类,则会收到错误消息。

我怎样才能做到这一点? 谢谢。

请张贴您得到什么错误。 否则很难抓住问题。 但是,如果您不想在用户类中实例化新闻类,则可以像访问新闻类一样

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*/));

这只是一个基本代码,可让您了解如何使用它。 在生产环境中,您必须采取很多预防措施。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM