如果您是
![](/icons/11450yi.gif)
位 PHP 开发人员
![](/icons/11450dou.gif)
在使用 PHP 编程语言时不难发现:大型项目可能会变得复杂
![](/icons/11450dou2.gif)
这并非 PHP
![](/icons/11450de.gif)
缺点
![](/icons/11450dou2.gif)
是
![](/icons/11450de.gif)
![](/icons/11450dou.gif)
这种语言提供了丰富
![](/icons/11450de.gif)
特性
![](/icons/11450dou.gif)
而且具有足够理想
![](/icons/11450de.gif)
弹性
![](/icons/11450dou.gif)
可区分
![](/icons/11450chengxu.gif)
员的间
![](/icons/11450de.gif)
工作成果
![](/icons/11450dou2.gif)
在这种意义上
![](/icons/11450dou.gif)
PHP 类似于 Perl
![](/icons/11450dou.gif)
这是
![](/icons/11450yi.gif)
些人喜欢它(而其他人鄙视它)
![](/icons/11450de.gif)
原因的
![](/icons/11450yi.gif)
![](/icons/11450dou2.gif)
任何曾经查看过遗留 PHP 项目
![](/icons/11450de.gif)
有经验
![](/icons/11450de.gif)
PHP 开发人员都可以轻松判断出区别开发人员在项目区别阶段
![](/icons/11450de.gif)
工作 — 就像您是
![](/icons/11450yi.gif)
位考古学家
![](/icons/11450dou.gif)
正在凝视着深深
![](/icons/11450de.gif)
墓穴
![](/icons/11450dou.gif)
见证着区别文化在各自时代
![](/icons/11450de.gif)
发展
![](/icons/11450dou2.gif)
不管涉及了什么样式或使用了什么思路方法
![](/icons/11450dou.gif)
超过几千行代码
![](/icons/11450de.gif)
PHP 项目很容易在仓促的中变得凌乱不堪
![](/icons/11450dou2.gif)
这主要是
![](/icons/11450yinwei.gif)
它们在结构上不
![](/icons/11450yi.gif)
致
![](/icons/11450dou2.gif)
![](/icons/11450yi.gif)
些
![](/icons/11450chengxu.gif)
员创建类来组织其工作
![](/icons/11450dou.gif)
但似乎没有任何两个
![](/icons/11450chengxu.gif)
员对于如何编写类具有相同
![](/icons/11450de.gif)
看法
![](/icons/11450dou2.gif)
其他
![](/icons/11450chengxu.gif)
员构建大量充满
![](/icons/11450hanshu.gif)
![](/icons/11450de.gif)
包含文件
![](/icons/11450dou2.gif)
还有其他人使用巨大、独立
![](/icons/11450de.gif)
库
![](/icons/11450dou.gif)
比如 PEAR
![](/icons/11450dou2.gif)
MVC 框架如何提供帮助
在几年前
![](/icons/11450dou.gif)
PHP
![](/icons/11450yi.gif)
直缺乏
![](/icons/11450yi.gif)
个良好
![](/icons/11450de.gif)
、功能完善
![](/icons/11450de.gif)
模型-视图-控制器(Model-View-Controller
![](/icons/11450dou.gif)
MVC)框架
![](/icons/11450dou2.gif)
MVC 框架允许
![](/icons/11450chengxu.gif)
员将其代码组织为 3个区别
![](/icons/11450de.gif)
功能区:
模型 包含和您
![](/icons/11450de.gif)
数据库和其他数据结构相关
![](/icons/11450de.gif)
所有代码
![](/icons/11450dou2.gif)
如果您具有
![](/icons/11450yi.gif)
个名为 pages
![](/icons/11450de.gif)
表
![](/icons/11450dou.gif)
则您具有
![](/icons/11450yi.gif)
个模型
![](/icons/11450dou.gif)
其中具有用于从表中选择、创建、更新和删除记录
![](/icons/11450de.gif)
![](/icons/11450hanshu.gif)
视图 包含所有显示和 UI 元素 — JavaScript 代码、Cascading Style Sheets (CSS)、HTML 甚至 PHP
控制器 将
![](/icons/11450yi.gif)
切联系在
![](/icons/11450yi.gif)
起
![](/icons/11450dou2.gif)
控制器中
![](/icons/11450de.gif)
每个
![](/icons/11450hanshu.gif)
表示
![](/icons/11450yi.gif)
个目
![](/icons/11450de.gif)
地或路线
![](/icons/11450dou2.gif)
如果您具有
![](/icons/11450yi.gif)
个名为 /about
![](/icons/11450de.gif)
目
![](/icons/11450de.gif)
地
![](/icons/11450dou.gif)
则控制器将具有
![](/icons/11450yi.gif)
个名为 about
![](/icons/11450de.gif)
![](/icons/11450hanshu.gif)
如果以前没有使用过 MVC 框架
![](/icons/11450dou.gif)
上述 3点无法体现出这种组织模式
![](/icons/11450de.gif)
强大的处
![](/icons/11450dou2.gif)
![](/icons/11450yi.gif)
旦您开始用 MVC 研究
![](/icons/11450dou.gif)
您对 PHP 开发
![](/icons/11450de.gif)
观点和态度将发生显著变化
![](/icons/11450dou2.gif)
例如
![](/icons/11450dou.gif)
不是在项目
![](/icons/11450de.gif)
每个可用角落中都塞入数据库查询代码
![](/icons/11450dou.gif)
而是将
![](/icons/11450yi.gif)
切都组织到模型中
![](/icons/11450dou2.gif)
为了从数据库表中选择页面
![](/icons/11450dou.gif)
可以使用页面模型中
![](/icons/11450de.gif)
![](/icons/11450hanshu.gif)
![](/icons/11450dou2.gif)
同样地
![](/icons/11450dou.gif)
如果您需要更新特定页面
![](/icons/11450de.gif)
外观
![](/icons/11450dou.gif)
可以使用视图
![](/icons/11450dou.gif)
而不用和控制器打交道
![](/icons/11450dou2.gif)
和此类似
![](/icons/11450dou.gif)
控制器是为您
![](/icons/11450de.gif)
应用
![](/icons/11450chengxu.gif)
添加目标和其他控制代码
![](/icons/11450de.gif)
位置;不必在模型中放入任何此类东西
![](/icons/11450dou2.gif)
无论使用哪种 MVC 框架
![](/icons/11450dou.gif)
在
![](/icons/11450yi.gif)
天的内
![](/icons/11450dou.gif)
您就会意识到您具有
![](/icons/11450yi.gif)
个容易记住、可按需扩展
![](/icons/11450de.gif)
系统
![](/icons/11450dou2.gif)
如果客户在下周需要更改
![](/icons/11450dou.gif)
没问题 — 您可以搞定
![](/icons/11450dou2.gif)
如果第 2年有什么请求
![](/icons/11450dou.gif)
同样如此
约定优于配置 MVC
在所有 MVC 框架中
![](/icons/11450dou.gif)
最著名
![](/icons/11450de.gif)
莫过于 Ruby _disibledevent="CodeIgniter 入门" />
同样
![](/icons/11450dou.gif)
您使用了有用
![](/icons/11450de.gif)
CodeIgniter 快捷方式集
![](/icons/11450dou2.gif)
这
![](/icons/11450yi.gif)
次
![](/icons/11450dou.gif)
使用
![](/icons/11450de.gif)
是 Form 帮助
![](/icons/11450chengxu.gif)
![](/icons/11450dou.gif)
将其载入控制器
![](/icons/11450dou2.gif)
form_open
![](/icons/11450hanshu.gif)
允许打开表单 — 它具有必要
![](/icons/11450de.gif)
自变量
![](/icons/11450dou.gif)
即表单发布
![](/icons/11450de.gif)
目标位置
![](/icons/11450dou2.gif)
下面
![](/icons/11450dou.gif)
您将返回控制器并添加 contact
![](/icons/11450hanshu.gif)
来处理表单发布数据
![](/icons/11450dou2.gif)
在表单中
![](/icons/11450dou.gif)
您使用了 form_label
![](/icons/11450kh.gif)
来创建可访问
![](/icons/11450de.gif)
标签
![](/icons/11450dou.gif)
使用 form_input
![](/icons/11450kh.gif)
和 form_textarea
![](/icons/11450kh.gif)
来构建表单字段和文本区
![](/icons/11450dou.gif)
使用 form_submit
![](/icons/11450kh.gif)
来构建输入按钮
![](/icons/11450dou2.gif)
请注意
![](/icons/11450dou.gif)
通过 form_input
![](/icons/11450kh.gif)
和 form_textarea
![](/icons/11450kh.gif)
(以及其他表单
![](/icons/11450hanshu.gif)
)
![](/icons/11450dou.gif)
您就可以传入
![](/icons/11450yi.gif)
个信息
![](/icons/11450shuzu.gif)
![](/icons/11450dou.gif)
帮助跟踪字段名称、id、大小和其他信息
![](/icons/11450dou2.gif)
最后
![](/icons/11450dou.gif)
使用 form_close
![](/icons/11450kh.gif)
关闭表单
![](/icons/11450dou2.gif)
让我们回过头来完成控制器
![](/icons/11450dou2.gif)
完成应用
![](/icons/11450chengxu.gif)
现在已经有了两个视图
![](/icons/11450dou.gif)
因而需要重新回到控制器
![](/icons/11450dou.gif)
为其添加两个
![](/icons/11450hanshu.gif)
![](/icons/11450dou2.gif)
您已经了解了第
![](/icons/11450yi.gif)
个
![](/icons/11450hanshu.gif)
:即处理主页上
![](/icons/11450de.gif)
表单传入
![](/icons/11450de.gif)
POST
![](/icons/11450de.gif)
contactus
![](/icons/11450hanshu.gif)
![](/icons/11450dou2.gif)
第 2个是 thankyou
![](/icons/11450hanshu.gif)
![](/icons/11450dou.gif)
它将用作该表单
![](/icons/11450de.gif)
最终确认页面
![](/icons/11450dou2.gif)
contactus
![](/icons/11450hanshu.gif)
非常简单
![](/icons/11450dou2.gif)
载入 MContacts 模型
![](/icons/11450dou.gif)
运行该模型内
![](/icons/11450de.gif)
addContact
![](/icons/11450hanshu.gif)
![](/icons/11450dou.gif)
然后将用户转向 thank-you 页面
![](/icons/11450dou2.gif)
请注意
![](/icons/11450dou.gif)
要使用 redirect
![](/icons/11450hanshu.gif)
![](/icons/11450dou.gif)
必须载入 URL 帮助
![](/icons/11450chengxu.gif)
代码如下所示:
function contactus
{
$this->load->helper('url');
$this->load->model('MContacts','',TRUE);
$this->MContacts->addContact
;
redirect('welcome/thankyou','refresh');
}
延伸阅读
最新评论