課程
/后端開發
/PHP
/MVC架構模式分析與設計
為什么controller可以new其他的class
2016-03-28
源自:MVC架構模式分析與設計 3-5
正在回答
因為有require或者include把視圖(viem)、模型(Model)、控制器(controller)都引入到了同一個文件中,所以最終其實都是在同一個頁面執行所以能夠new其他的class。
明白了,謝謝啦
這個就是MVC單一入口模式,入口文件中會封裝一個__autoload魔術方法,當你實例化一個此頁面不存在的類時會觸發__autoload方法,根據你實例化的類名去找這個類.你在網上好好看看這個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對象,希望你能幫我解釋一下,哈哈
舉報
通過學習MVC理論知識,由淺入深帶您實現人生第一個MVC框架
1 回答關于eval的問題
2 回答關于登陸的問題
2 回答關于PHP和JAVA的問題
1 回答關于配置問題
1 回答關于路徑問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-03-29
因為有require或者include把視圖(viem)、模型(Model)、控制器(controller)都引入到了同一個文件中,所以最終其實都是在同一個頁面執行所以能夠new其他的class。
2016-04-04
明白了,謝謝啦
2016-03-31
這個就是MVC單一入口模式,入口文件中會封裝一個__autoload魔術方法,當你實例化一個此頁面不存在的類時會觸發__autoload方法,根據你實例化的類名去找這個類.你在網上好好看看這個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對象,希望你能幫我解釋一下,哈哈