PHP调用类方法到另一个类

时间:2013-02-28 13:06:31

标签: php

我有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类方法, 但如果我尝试在类用户中解决类新闻,我会收到错误。

我该怎么做? 感谢。

1 个答案:

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

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