codeigniter提示和技巧

时间:2010-12-13 08:34:12

标签: php codeigniter

我有一个PHP网络项目,我的大学课程将在几天内完成。我的最终成绩值 <75%。老师给我们留下的方式如下:

到了截止日期,我们会在预定的时间与他会面并向他展示我们所学到的知识。或多或少地讨论我们的成绩应该是什么。

这让我来到这里,因为他说我们用花哨的codeigniter方式做的事情越多,我们得到的分数就越多。

这是我的问题:

“你对codeigniter有什么提示和技巧吗?你有什么想法,你希望从一开始就知道吗?”代码片段,在线某处的指南等等。

我的偏好是那些在学习时间上具有很高的令人印象深刻的比例。

6 个答案:

答案 0 :(得分:7)

可能有用〜

Extending base controllers创建一种易于使用,可扩展的方式来限制对您网站的访问

<强> admin_controller.php

class Admin_Controller extends MY_Controller {

    function __construct()
    {
        if(!$this->auth->is_Admin()) /* imaginary auth library */
        {
            redirect('login/error');
        }
    }

 // bla bla
} 

模板库

使用一个好的模板库可能是天赐之物 - 谷歌,有很多。不适用于每个项目,但可以减少大量不必要的$this->load->view('foo);,使您的应用更容易维护。

答案 1 :(得分:5)

我现在做的主要事情,我希望我从一开始就做了什么?

Base Controllers
Template library
Migrations for your DB changes

最后,虽然我以前常常反对ORM,但有一些非常轻量级的。使用非常基本的 ORM(不是像Doctrine这样疯狂的重量级混蛋)可以节省你写很多代码。

要尝试的是Yorick Peterse的AwesomeRecord,或WanWizard的DataMapper

此外,现在使用CI 2.0。不要打扰1.7.x,否则你将在几周内重新编写代码。

答案 2 :(得分:2)

$this->db->insert_id();

将返回最后一个数据库条目的id ...它可能非常有用,我一直都在使用它......

答案 3 :(得分:2)

答案 4 :(得分:1)

它与代码本身没有直接关系,但是CodeIgniter's User Guide确实帮助我理解了MVC模式的全部内容,并提供了有用的注释和示例,例如:

  

模型是PHP类   旨在处理信息   你的数据库。例如,让我们说   您使用CodeIgniter来管理博客。   你可能有一个模型类   包含插入,更新,   并检索您的博客数据。

根据CI的例子,我的代码80%更清洁,让模特只做他们想要的工作。我也将这种方法引入了其他框架/语言。

答案 5 :(得分:1)

一些建议:

  • 实施自定义库(例如电话号码格式化程序或其他内容)
  • 实施控制器挂钩,以收集使用情况统计信息或进行权限控制。
  • 实施错误记录库 从中捕获所有错误 尝试/捕捉博客,使用它记录它 codeigniter的错误记录功能 并且还向预设发送电子邮件 带有堆栈跟踪的电子邮件ID。
  • 使用ORM(如Doctrine)将数据库表映射到模型类,然后使用它来运行所有查询。