課程
/后端開發(fā)
/PHP
/MVC架構(gòu)模式分析與設(shè)計
為什么controller可以new其他的class
2016-03-28
源自:MVC架構(gòu)模式分析與設(shè)計 3-5
正在回答
因為有require或者include把視圖(viem)、模型(Model)、控制器(controller)都引入到了同一個文件中,所以最終其實都是在同一個頁面執(zhí)行所以能夠new其他的class。
明白了,謝謝啦
這個就是MVC單一入口模式,入口文件中會封裝一個__autoload魔術(shù)方法,當(dāng)你實例化一個此頁面不存在的類時會觸發(fā)__autoload方法,根據(jù)你實例化的類名去找這個類.你在網(wǎng)上好好看看這個MVC的視頻教程吧!
你說的同一頁面是?,視頻上每個class是分開寫的啊,不是在一個php文件里寫了很多class啊,還希望你能再解釋下,也許是我理解有問題。
在一個頁面里同時定義了兩個類,在另一個類里是能實例化另上一個類的
??? class Model{?? ??? ?public function fun(){?? ??? ??? ?echo "這是fun";?? ??? ?}?? ?}?? ?class Demo{?? ??? ?public function db(){?? ??? ??? ?? $obj=new Model();?? ??? ??? ?? return $obj->fun();?? ??? ?}?? ?}?? ?$obj=new Demo();?? ?$obj->db();
會輸出Model類的fun方法
有點疑惑,不是在test.php里require_once三個class,所以在test里new我能理解,我但試了下在每個class里都可以new 其他的class對象,希望你能幫我解釋一下,哈哈
舉報
通過學(xué)習(xí)MVC理論知識,由淺入深帶您實現(xiàn)人生第一個MVC框架
1 回答關(guān)于eval的問題
2 回答關(guān)于登陸的問題
2 回答關(guān)于PHP和JAVA的問題
1 回答關(guān)于配置問題
1 回答關(guān)于路徑問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-03-29
因為有require或者include把視圖(viem)、模型(Model)、控制器(controller)都引入到了同一個文件中,所以最終其實都是在同一個頁面執(zhí)行所以能夠new其他的class。
2016-04-04
明白了,謝謝啦
2016-03-31
這個就是MVC單一入口模式,入口文件中會封裝一個__autoload魔術(shù)方法,當(dāng)你實例化一個此頁面不存在的類時會觸發(fā)__autoload方法,根據(jù)你實例化的類名去找這個類.你在網(wǎng)上好好看看這個MVC的視頻教程吧!
2016-03-30
你說的同一頁面是?,視頻上每個class是分開寫的啊,不是在一個php文件里寫了很多class啊,還希望你能再解釋下,也許是我理解有問題。
2016-03-29
在一個頁面里同時定義了兩個類,在另一個類里是能實例化另上一個類的
??? class Model{
?? ??? ?public function fun(){
?? ??? ??? ?echo "這是fun";
?? ??? ?}
?? ?}
?? ?class Demo{
?? ??? ?public function db(){
?? ??? ??? ?? $obj=new Model();
?? ??? ??? ?? return $obj->fun();
?? ??? ?}
?? ?}
?? ?$obj=new Demo();
?? ?$obj->db();
會輸出Model類的fun方法
2016-03-29
有點疑惑,不是在test.php里require_once三個class,所以在test里new我能理解,我但試了下在每個class里都可以new 其他的class對象,希望你能幫我解釋一下,哈哈