用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1904|回复: 4
收起左侧

[讨论/交流] 急贴:CI与MVC的关系+访问方式设计

[复制链接]
发表于 2014-8-31 11:47:50 | 显示全部楼层 |阅读模式
MVC是只适用于Application还是CI整体?CI是不是由MVC设计的
CI的访问方式为什么设计成:index.php/控制器名/方法名/参数,,,而不是直接打开.html等视图页面,,,,设计的初衷是什么?
发表于 2014-9-1 10:17:55 | 显示全部楼层
本帖最后由 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去掉,不過要去做些設定

其次就是控制比較有方向性,你要他去做某件事,總不能讓他去猜吧?
要給他個「地方」的「區域」去找去執行他要的東西

设计的初衷是什么?

我想應該是讓初學者比較好上手

 楼主| 发表于 2014-9-2 20:19:10 | 显示全部楼层
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路径而已,,,不是吗?




期待您的回答~~~

发表于 2014-9-3 09:16:03 | 显示全部楼层
其實不用太期待我的回答 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檔來實現

发表于 2014-9-3 10:42:42 | 显示全部楼层
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的应用流程图。

就这样。

本版积分规则