medoo類(lèi)庫(kù)使用其方法后導(dǎo)致類(lèi)中使用構(gòu)造函數(shù)后報(bào)錯(cuò)
部分代碼:
\app\model\cModel.php下:
class cModel extends model
{
? public $table;
? public function __construct($table1)
? {
? ? $this->table = $table1;
? }
? public function lists()
? {
? ? $ret = $this->select($this->table,'*');
? ? return $ret;
? }
\app\ctrl\indexCtrl.php下:
<?php
namespace app\ctrl;
use core\lib\model;
class indexCtrl extends \core\future
{
? public function index(){
? ? $table1 = 'users';
? ? $model = new \app\model\cModel($table1);
? ? $ret = $model->delOne(1);
? ? dump($ret);
? ? $ret1 = $model->lists();
? ? dump($ret1);
? }
}
值可以傳過(guò)去,但是報(bào)medoo的錯(cuò)誤,Undefined property: app\model\cModel::$pdo
2018-09-01
解決了,,因?yàn)樽宇?lèi)的構(gòu)造函數(shù)? ?會(huì)覆蓋父類(lèi)的構(gòu)造函數(shù),,于是在子類(lèi)中聲明構(gòu)造函數(shù)的時(shí)候,需要在子類(lèi)中繼承父類(lèi)的構(gòu)造函數(shù),以使父類(lèi)的構(gòu)造函數(shù)依然生效。代碼:
public function __construct($table1)
? {
? ? $this->table = $table1;
????parent::__construct();? ? ? //禍根就出在這里!?。?br />
? }