急贴:CI与MVC的关系+访问方式设计
MVC是只适用于Application还是CI整体?CI是不是由MVC设计的?CI的访问方式为什么设计成:index.php/控制器名/方法名/参数,,,而不是直接打开.html等视图页面,,,,设计的初衷是什么?
本帖最后由 Closer 于 2014-9-1 15:26 编辑
不清楚這邊歡不歡迎繁體字的
我也是CI新手,只學了一個月,如果有說的不正確,歡迎樓下指正
MVC是只适用于Application还是CI整体?
MVC是種「概念」,主要是針對 "模型"、"顯示"、"控制" 這三個點在設計
CI只是在Application資料夾,將他分類得更明顯,M/V/C就是分三個資料夾去存取控制
CI是不是由MVC设计的?
CI是以MVC架構所寫出的設計框架,同樣以MVC寫出的框架還有很多,只是CI比較淺顯易懂
CI的访问方式为什么设计成:index.php/控制器名/方法名/参数,而不是直接打开.html等视图页面
防止非法訪問。
要讀取所有網站都得靠index.php這個端點進入
當然,如果不喜歡也可以把index.php去掉,不過要去做些設定
其次就是控制比較有方向性,你要他去做某件事,總不能讓他去猜吧?
要給他個「地方」的「區域」去找去執行他要的東西
设计的初衷是什么?
我想應該是讓初學者比較好上手
Closer 发表于 2014-9-1 10:17
不清楚這邊歡不歡迎繁體字的
我也是CI新手,只學了一個月,如果有說的不正確,歡迎樓下指正
MVC是只适用于Application还是CI整体?
MVC是種「概念」,主要是針對 "模型"、"顯示"、"控制" 這三個點在設計
CI只是在Application資料夾,將他分類得更明顯,M/V/C就是分三個資料夾去存取控制
CI是不是由MVC设计的?
CI是以MVC架構所寫出的設計框架,同樣以MVC寫出的框架還有很多,只是CI比較淺顯易懂
其实我的问题用意在于问CI本身的设计,开发CI这个简易框架用的是MVC的思想吗,,,,,我所理解的是:在利用CI进行开发的时候是按照MVC的方式进行的,那么CI本身的设计呢,,,,,
按照您的回答,我是不是可以理解为:CI框架本身也是由MVC思想开发出来的,我们在用CI进行开发的时候也是采用MVC的思想开发自己的项目。
CI的访问方式为什么设计成:index.php/控制器名/方法名/参数,而不是直接打开.html等视图页面
防止非法訪問。
要讀取所有網站都得靠index.php這個端點進入
當然,如果不喜歡也可以把index.php去掉,不過要去做些設定
其次就是控制比較有方向性,你要他去做某件事,總不能讓他去猜吧?
要給他個「地方」的「區域」去找去執行他要的東西
设计的初衷是什么?
我想應該是讓初學者比較好上手
其实这两个问题的疑问在于,以前所编写的网站,都是直接打开.html文件即可,用户也是直接输入网址即可,,,,
而采用这种访问方式的话,用户访问也要按照这种方式去访问吗???这样的话给人感觉不是很合理,用户根本不会在意他是怎么实现的, 由什么控制器实现的,只要告诉他们一个URL就好,用户需要的只是一个URL路径而已,,,不是吗?
期待您的回答~~~
其實不用太期待我的回答 XD
我只是個嫩新手,根據這個月查找程式碼所帶來的感想
參考參考就好~
其实我的问题用意在于问CI本身的设计,开发CI这个简易框架用的是MVC的思想吗,,,,,我所理解的是:在利用CI进行开发的时候是按照MVC的方式进行的,那么CI本身的设计呢,,,,,
按照您的回答,我是不是可以理解为:CI框架本身也是由MVC思想开发出来的,我们在用CI进行开发的时候也是采用MVC的思想开发自己的项目。
關於CI和MVC的思想,這也許要問CI或更資深的CI程序員
其实这两个问题的疑问在于,以前所编写的网站,都是直接打开.html文件即可,用户也是直接输入网址即可,,,,
而采用这种访问方式的话,用户访问也要按照这种方式去访问吗???这样的话给人感觉不是很合理,用户根本不会在意他是怎么实现的, 由什么控制器实现的,只要告诉他们一个URL就好,用户需要的只是一个URL路径而已,,,不是吗?
這其實不影響使用者端,因為可以利用$route['default_controller']
來實現使用者只需要輸入網址,而不需要輸入index.php
他一樣是個"網址(http://www.google.com/)"就能進入了
至於去除index.php,論壇上已經有不少相關文章
主要是編寫.htaccess檔來實現
MVC是只适用于Application还是CI整体?CI是不是由MVC设计的?
答:MVC是一种设计模式,不能说适用于Application还是适用于CI整体,在这里的MVC意思是CI框架给你搭建好了一个按照 MVC 模式开发应用的框架,你使用 CI 编写应用必定是符合 MVC 设计模式的,所以你的问题不成立。再一个,CI是不是由MVC设计的,这个怎么说呢,我认为CI是MVC应用的骨架,那到底骨架算不算由MVC设计的,这个我觉得有点说不清,关于这一点大家可以探讨,这也是我自己的理解。
CI的访问方式为什么设计成:index.php/控制器名/方法名/参数,,,而不是直接打开.html等视图页面,,,,设计的初衷是什么?
答:首先直接打开视图,那不是CI的MVC模式,CI的MVC模式最重要的是以控制器为核心,所有请求都由控制器处理,所以不可能直接访问到视图。这里的设计初衷就是为了让控制器控制一切,你可以看看CI的应用流程图。
就这样。
页:
[1]