-2
我有兩個類,一個(控制器類)從另一個擴展,然後在控制器類中,我定義了一個變量「加載」(在構造中),但是當我從另一個類擴展時,我無法從構造函數調用這個變量,有什麼想法? (道歉爲我的壞英語)。從另一個擴展類的構造函數的問題我不能在構造函數中使用方法
類控制器:
<?php
class Controller {
protected $load;
public function __construct() {
$this->load = new Loader();
if($_GET && isset($_GET['action']))
{
$action = $_GET['action'];
if(method_exists($this, $action))
$this->$action();
else
die('Method not found.');
} else {
if(method_exists($this, 'index'))
$this->index();
else
die('Index method not found.');
}
}
}
類家庭(它在哪裏擴展):
<?php
class Home extends Controller
{
function __construct() {
parent::__construct();
$this->load->model("HomeModel");// this line doesn't work
}
public function index() {
$articles = new HomeModel();
$articles = $articles->getData();
$nombres = ['jona', 'juan', 'jose'];
$view = new Views('home/home', compact("nombres", "articles"));
}
}
裝載器類:
<?php
class Loader
{
function __construct() {
}
public function model($model) {
require('./models/'.$model.'.php');
}
}
什麼不行?你會得到什麼錯誤? –
@AlexHowansky它只是不工作,這就像我從未宣佈該行 –
@AlexHowansky當我宣佈「$ this-> load-> model(」HomeModel「);」在構造中,這是行不通的,但是當我在索引函數中聲明這個功能時這個工作正確 –