php干扰函数,php – 类构造函数干扰另一个类
本質(zhì)上,我只是創(chuàng)建兩個(gè)類,其中一個(gè)類(在本例中為A類)在另一個(gè)類(在本例中為B類)中運(yùn)行一個(gè)函數(shù),以從數(shù)據(jù)庫(kù)中獲取一些信息.
但是,當(dāng)B_runtime()實(shí)際調(diào)用數(shù)據(jù)庫(kù)時(shí),我得到錯(cuò)誤無(wú)法訪問(wèn)受保護(hù)的屬性A :: $db.
我不明白的是,即使我在兩個(gè)類中都有兩個(gè)__construct,PDO語(yǔ)句在使用A類的數(shù)據(jù)庫(kù)連接時(shí)非常持久.
我確信這與我在A類中運(yùn)行B_runtime()的事實(shí)有關(guān),因?yàn)槿绻覐腁類外部調(diào)用它,就不會(huì)發(fā)生這種情況.
我知道我可以簡(jiǎn)單地更改受保護(hù)的$db;但是,在A類公共變量中,我真的很好奇如何解決這個(gè)問(wèn)題.
ob_start();
include('/config.php');
ob_end_clean();
$A = new A($db);
$B = new B($db);
echo $A->A_runtime();
class A{
protected $db;
public function __construct($db){
$this->db = $db;
}
public function A_runtime(){
return B::B_runtime();
}
}
class B{
protected $db;
public function __construct($db){
$this->db = $db;
}
public function B_runtime(){
$preparedStatement = $this->db->prepare('SELECT * FROM z_mod_html WHERE ModuleLink = :moduleid LIMIT 1');
$preparedStatement->execute(array(':moduleid' => '1'));
$rows = $preparedStatement->fetchAll();
return $rows[0]['HTML'];
}
}
很抱歉有很多代碼 – 如果有人有任何想法或建議,將不勝感激.謝謝.
總結(jié)
以上是生活随笔為你收集整理的php干扰函数,php – 类构造函数干扰另一个类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 全民k歌大赛在哪里找
- 下一篇: win2000服务器 网站设置,服务器_