簡體   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