首页 > 开发 > PHP > 正文

Codeigniter的一些优秀特性总结

2024-05-04 22:39:44
字体:
来源:转载
供稿:网友

最近准备接手改进一个别人用Codeigniter写的项目,虽然之前也有用过CI,但是是完全按着自己的意思写的,没按CI的一些套路。用在公众的项目,最好还是按框架规范来,所以还是总结一下,免得以后别人再接手的时候贻笑大方。

1. 首先是 MVC

如果你还不知道 MVC ,应该尽快的学习,你会很快的体会到在 Model 中数据访问,在 Controller 中进行业务逻辑,在 Views 中编写 HTML 代码的价值。如果你之前没有使用过这种模式写过程序,你也许会皱起额头,不过你应该给自己尝试这样做的机会。

一条实践准则是把更少的东西放进 Controller ,记住 DRY 准则:不要重复造轮子。当在超过一个地方编写相同的代码时,应该根据它的类型来尝试编写一个 library, helper,或 model。比如数据库连接类,用得很频繁,就把它做成 model(系统已提供)。

一旦领悟了 MVC 的精髓,这将会成为一种习惯,你会从 MVC 简洁的代码中受益良多。

一个原则就是:复杂的操作都交给Model。Controller更像个建筑师。 Model是苦工。 View 是粉刷工。Controller 只需要把东西丢进Model里就可以了,不需要在意数据是否异常,然后返回一个标志位以及相应的数据。这样MVC 的 架构就体现出来了。

Model其实就像一个电器如:微波炉一样,使用方法越简单越让人喜欢,(把食物放进去 -按启动 -ok,饭熟了。)接口少的好处是,Model升级代码优化的时候,对外界的耦合度不高。即使你内部写得很烂,接口也很干净,用起来也简单。

2. Application 和 System 路径

最好是把 system 和 application 文件夹放在 webroot 以外的地方,如果 index.php 放在 FTP 服务器的 /public_html/ 路径下,应该尝试把 System 放在根目录下 /system ,这样的话,只能通过 index.php 访问你的PHP文件。

不要忘记在index.php文件中修改 $system_folder 和 $application_folder 的值,$system_folder 的值应该是相对于 index.php 文件,而 $application_folder 的值是相对于 system 目录。

3. 错误报告和调试

常常犯的一个错误是忘记关闭 PHP 错误和数据库错误报告,这样做是有风险的。在任何一个公开的站点,error_reporting 应该设置为0 ,最多只能设置为 E_ERROR,数据库设置 db_debug 应该设置为 false,基于其他安全考虑,设置不显示出错信息 ini_set('display_errors', 'Off');

在你编码和调试时,应该把 error_reporting 设置为 E_ALL ,并且在把应用程序发布前解决每一个注意和警告。

一种简易的方法是在 application/config/database.php 文件设置 db_debug 的值为一个常量 MP_DB_DEBUG,当网站在运行中,如下设置:

代码如下:
ini_set('display_errors', 'Off');
error_reporting(0);
define('MP_DB_DEBUG', false);

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表