如果你不使用 CodeIgniter 的模板语法,你可以在视图文件中使用原始的 PHP 代码。要使这些文件里的 PHP 代码最小化,并让他们容易辨认,建议你使用 PHP 替代语法,来控制结构和短标签 echo 语句。如果你不熟悉这个语法,下面内容将会让你消灭大括号和 "echo" 语句。
开发者通常希望在开发环境和生产环境有不同的行为。例如错误信息在开发中有用,而在项目上线后者可能会造成一些安全问题。ENVIRONMENT 常量默认情况下,CodeIgniter 把环境常量 $_SERVER['CI_ENV'] 设置为 'development',在 index.php 的顶部,你会看到:define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');这个服务器变量可在 .
默认情况下,你仅会用 CodeIgniter 管理一个应用程序,这个程序位于 application/文件夹中。当然,也有可能多个程序共享一个 CodeIgniter,甚至对 application/ 重命名或更换路径。重命名应用文件夹如果你想重命名应用文件夹,你可以打开 index.php 文件,并使用变量 $application_folder 设置它的名字。$application_folder = 'application';
除了通过浏览器 URL 调用控制器外,也可以通过命令行接口(CLI)调用。什么是 CLI?命令行接口是一种基于文本的和计算机交互的方式。更多信息参考维基百科文章。为什么使用命令行运行?这里有很多原因通过命令行运行 CodeIgniter,不过总是被忽略。使用 cron 定时运行任务而不需要使用 wget 或 curl通过检查 $this->input->
这个分析器类将会显示基准结果,运行的查询,并将 $_POST 数据放在你的页尾。这个信息在开发中非常有用,它能帮你调试和优化。初始化类注意: 这个类不需要初始化。如果已按照下面的方式激活,他将被输出类自动装载。启动分析器在控制器中设置以下方法,可以启动该分析器。$this->output->enable_profiler(TRUE);分析器启动后将产生一个报告并插入您的页面底部.
CodeIgniter 可以缓存网页,这样可以最大化性能。虽然 CodeIgniter 已经足够快,但是网页中得动态内容,主机的内存 CPU 和数据库读取速度等因素直接影响了网页的加载速度。通过网页缓存,你的网页可以达到静态页面的加载速度,因为已经将所有输出都保存好了。缓存是如何工作的?CodeIgniter 允许单页缓存,你也可以设置缓存时间。
CodeIgniter 允许你在应用中使用以下的函数建立错误报告。另外,它有一个错误日志类,允许错误和调试信息保存为文本文件。注意:默认情况下,CodeIgniter 显示所有 PHP 错误。你可能想要在开发完成后改变这个行为。你可以在 index.php 顶部找到 error_reporting() 函数。即使禁用错误报告,发生错误时,错误日志也不回停止。
一般来说,URL 字符串和相应的控制器类/方法一一对应。URI里的内容通常都是这个模式:example.com/class/function/id/然而在一些例子中,你也许想要重新隐射这个关系来调用一个不同的类/方法(class/function),而不是与 URL 一一对应。例如, 比如你想要 URL 长成这样:example.com/product/1/example.com/product/2/example.com/product/3/example.
CodeIgniter 提供了一套兼容性函数,让你可以使用非原生的 PHP 函数,但是只有在更高的版本或者依赖于某个扩展插件。作为定制化实现,这些函数也有一定的依赖性,但是如果你的安装的 PHP 没有提供原生函数,它们还是很有用的。注意: 大部分和 通用函数 很像, 只要依赖性满足,兼容性函数一直可用。 <div class="custom-index container"></div>
CodeIgniter 使用了一些全局定义的函数来完成某些操作,你在任何情况下都可以使用,而不需要加载库或辅助函数。is_php($version)参数 字符串 $version: 版本号返回:如果运行中得 PHP 版本大于等于 version,返回 TRUE,否则返回 FALSE返回类型:bool检测 PHP 版本是否大于参数的版本号。例如: if (is_php('5.
CodeIgniter 的 “自动加载” 功能,可以允许系统每次运行时自动初始化类库,辅助函数和模型。如果你想让某些资源在系统中各处可用,可以考虑使用自动加载功能。
CodeIgniter 的钩子功能,让你可以在不改变系统核心文件的基础上,改变或增加系统的核心运行功能。当 CodeIgniter 运行后,它会产生一个特殊的进程,这个进程在项目文件里有说明。当然,您可以自定义一些动作来替代程序运行过程中的某些阶段。例如,你可以在控制器加载前运行一段脚本,或者在加载后运行,或者你想在其他地方触发脚本。
在某些情况下,你可能需要开发一个类,这个类能使用控制器一部分功能。get_instance()返回: 你的控制器实例的引用返回类型: CI_Controller在你的控制器方法中初始化的任何类,都可以访问 CodeIgniter 原生资源,简单通过使用 get_instance() 函数。这个函数回传 CodeIgniter 对象。通常来说,调用任何 CodeIgniter 方法需要你使用 $this 结构:$this->load->
每次 CodeIgniter 运行时,都有很多基础类作为核心架构的一部分被初始化。你也可以使用你自己的类替换核心系统类,或者扩展核心系统类。多数用户没有这个需求,但对于那些想较大幅修复 CodeIgniter 的人来说,我们依然提供了替换和扩展核心系统类的方法注意: 改变核心系统类会有很大的影响,所以在你修改前需要清楚自己在做什么。
适配器文件夹和文件结构适配器目录和文件结构如下:/application/libraries/Driver_nameDriver_name.phpdriversDriver_name_subclass_1.phpDriver_name_subclass_2.phpDriver_name_subclass_3.
所有可用的库文件都位于 system/libraries/ 文件夹里。多数情况下,你需要在控制器中初始化后才能使用它们,方法如下:$this->load->library('class_name');'class_name' 是你想要用的类名。例如加载“表单验证类”,可以这样做$this->load->library('form_validation');一旦类库初始化后,你就可以按照用户手册中的方法来使用它们。
辅助函数能帮助你完成任务。每个辅助函数文件都是某个分类的函数集。其中 URLHelpers 帮助我们创建链接,Form Helpers 帮助我们创建元素,Text Helpers 提供一些列的格式化输出,Cookie Helpers 设置并读取 cookies,File Helpers 帮助我们处理文件,等等。和 CodeIgniter 中的其他部分不同,辅助函数不是通过面向对象方法实现。
模型对于那些想使用传统的 MVC 方法的人来说是可选的。什么是模型模型是一个 PHP 类,是用来和数据库打交道的。例如,我们假设你使用 CodeIgniter 来管理你的博客。你应该会有一个模型类来插入,更新,检索博客数据。下面的例子将向你展示一个普通的模型类。class Blog_model extends CI_Model { public $title; public $content; public $date;
视图是一个简单的 Web 页面,或者页面的部分,如页头,页尾,侧边栏等等。实际上,如果你需要这种树状类型,视图可以灵活的嵌入到其他视图(或者再嵌入其他视图)。视图从不会被直接调用,必须通过控制器来调用。记住,在 MVC 架构中,控制器扮演了交通警察的角色,那么它就得负责取回一个特殊视图。如果你没有阅读过控制器文档,那么你需要先阅读一下。
为了便于编码,CodeIgniter 使用了一系列的函数,方法,类和变量名来完成操作。因此,有一些名字开发中不能使用。底下的列表中的保留字不能被使用。控制器名因为你的控制器类继承自主程序控制器,你方法名一定不要和主程序控制器类中得函数名相同,否则你的局部方法将会覆盖他们。底下列出了保留的名字。
关注时代Java