摘要:
默认情况下,你会将应用程序放入application/中,并且可能用 CodeIgniter 只管理这一个应用程序。当然,多个应用程序共享一个 CodeIgniter, 甚至对application文件夹进行重命名或更换路径也是可行的。对应用程序文件夹重命名如果你要对application进行重命名, 你需要打开index.php文件,对变量$application_folder进行更改:$application_folder = "application";更改你的应用程序的文件夹路径你可以将application文件夹从system文件夹中挪放到服务器的其他的位置。但是 阅读全文
随笔分类 - web---php框架
CodeIgniter以CLI方式运行
2013-06-09 13:25 by youxin, 618 阅读, 收藏, 编辑
摘要:
Running via the CLI除了可以在浏览器中通过URL调用一个控制器外,也可以通过命令行接口(CLI)调用。什么是CLI?为什么使用这种方式?它如何工作?什么是CLI?命令行接口是一种基于文本的和计算机交互的方式。如果想查看更详细说明,请看Wikipedia article.为什么使用命令行?虽然不是必须的,但在某些情况下我们会用到命令行使用 cron 定时运行任务而不需要使用 wget 或 curl通过检查$this->input->is_cli_request()让你的 cron 任务无法通过网址访问到让交互式任务可以做设置权限、清空缓存、执行备份等操作与其他语言进 阅读全文
CodeIgniter调试你的应用程序
2013-06-09 13:18 by youxin, 730 阅读, 收藏, 编辑
摘要:
Profiling your applicationThe Profiler Class will display benchmark results, queries you have run, and $_POST data at the bottom of your pages. This information can be useful during development in order to help with debugging and optimization.该分析器将在页面下方显示基准测试结果,运行过的 SQL 语句,以及 $_POST 数据。这些信息有助于开发过程中的 阅读全文
CodeIgniter网页缓存
2013-06-09 13:15 by youxin, 395 阅读, 收藏, 编辑
摘要:
Codeigniter 支持缓存技术,以达到最快的速度。尽管CI已经相当高效了,但是网页中的动态内容、主机的内存CPU 和数据库读取速度等因素直接影响了网页的加载速度。 依靠网页缓存,你的网页可以达到近乎静态网页的加载速度,因为他们将程序输出的结果保存到硬盘上了。缓存是怎么工作的?CI支持每个页面单独缓存,而且可以设置缓存更新时间。当一个网页第一次被加载的时候,缓存文件将被保存到application/cache文件夹。 下次访问的时候,系统就会直接读取缓存文件,然后返回给用户的浏览器。如果缓存文件过期,它将被删除并重新生成。注意:Benchmark 标签在使用了缓存的页面仍然可用。启动缓存启 阅读全文
CodeIgniter公共函数
2013-06-09 12:51 by youxin, 368 阅读, 收藏, 编辑
摘要:
共函数位于 system/core/Common.php 文件中,大家可以在这里定义自己的公共函数。CodeIgniter 使用了一些全局定义的函数来完成操作,在任何情况下你都能够使用这些函数。使用他们不需要载入任何类库或辅助函数。is_php('version_number')is_php() 判断正在使用的PHP的版本号是否高于你所提供的version_number。if (is_php('5.3.0')){$str = quoted_printable_encode($str);}如果已安装的PHP版本号等于或高于你所提供的版本号,本函数将返回布尔值TRU 阅读全文
CodeIgniter自动装载资源
2013-06-09 12:48 by youxin, 196 阅读, 收藏, 编辑
摘要:
CodeIgniter 带有"自动装载"功能可以允许系统每次运行时自动初始化类库、辅助函数和模型。如果你需要某些资源在整个应用程序中全局使用,为方便起见可以考虑自动装载它们。下列项目可以自动装载:“libraries”文件夹中的核心类“helper”文件夹中的辅助函数“config”文件夹中自定义配置文件“system/language”文件夹中的语言包“models”文件夹中的模型要自动装载资源,打开application/config/autoload.php文件,然后将你想要自动装载的项目添加到autoload数组中,你会发现该文件中对应于上面每个项目类型指示。注意: 阅读全文
CodeIgniter钩子 - 扩展框架的核心
2013-06-09 12:46 by youxin, 393 阅读, 收藏, 编辑
摘要:
CodeIgniter 的钩子功能使得您可以在不修改系统核心文件的基础上来改变或增加系统的核心运行功能。 当 CodeIgniter 运行后,它会产生出一个特殊的进程,这个进程在项目流程页面中有说明。 当然,您可以自定义一些动作来替代程序运行过程中的某些阶段。例如,您可以在控制器刚刚载入前或刚刚载入后来运行特定的脚本,或者在其他时刻来触发您的脚本。启用钩子钩子功能可以在全局范围内打开或关闭,您可以在application/config/config.php文件中设定:$config['enable_hooks'] = TRUE;(默认为FALSE)定义钩子钩子是在applica 阅读全文
CodeIgniter 适配器
2013-06-09 12:37 by youxin, 291 阅读, 收藏, 编辑
摘要:
适配器是一种特殊的库,它有一个父类和任意数量的子类。子类可以访问其父类元素,但不能访问其兄弟类的元素。在你的控制器中,适配器为类库提供了一种优雅的语法,因此类库会就此获益甚至会需要分解成离散的类。适配器的源文件存放在system/libraries目录下, 命名一个和类名字相同的文件夹,文件夹下存放该类。同时在该文件夹中,有一个子文件夹叫做drivers在其中包含了所有的子类。如自带的Cache文件夹下:要使用一个适配器,你需要在一个控制器里用如下的初始化函数初始它:$this->load->driver('class name');这里的class name是你想 阅读全文
URI 路由
2013-06-09 12:31 by youxin, 729 阅读, 收藏, 编辑
摘要:
一般来说,URI字符串有着和它唯一对应的控制器(controller)类/方法。URI的各个部分是如下模式(pattern):example.com/class/function/id/然而在一些例子中,你也许想重定向这种关系来调用一个不同的类/方法(class/function),而不是与URL一一对应(的调用).例如,你可能想使你的URL采用这种原型(prototype):example.com/product/1/example.com/product/2/example.com/product/3/example.com/product/4/一般情况下,URL的第二个部分表示方法名,不 阅读全文
CodeIgniter 类库
2013-06-09 11:20 by youxin, 234 阅读, 收藏, 编辑
摘要:
所有的类库文件存放在system/libraries文件夹。大多数情况下你需要预先在controller中初始化后才能使用它们:$this->load->library('class name');class name是你想要使用的类名。例如,要载入“表单验证类”,你可以这样做:$this->load->library('form_validation');一旦类库被载入,你就可以按照用户手册中的方法来使用它们。此外,多个类库可以通过传递包含类库的数组一次加载。$this->load->library(array('e 阅读全文
codeIgniter 模型
2013-06-08 20:48 by youxin, 311 阅读, 收藏, 编辑
摘要:
模型对于那些想用传统MVC方式的人来说是可选的。什么是模型?剖析模型载入模型自动载入模型连接数据库什么是模型?模型是专门用来和数据库打交道的PHP类。例如,假设你想用CodeIgniter来做一个Blog。你可以写一个模型类,里面包含插入、更新、删除Blog数据的方法。下面的例子将向你展示一个普通的模型类:译者注:Blogmodel 这样的命名不符合CodeIgniter的开发规范。规范的类名命名:Blog_modelclassBlogmodelextendsCI_Model{var $title = '';var $content = '';var $date 阅读全文
codeIgniter 控制器
2013-06-08 20:35 by youxin, 346 阅读, 收藏, 编辑
摘要:
控制器是应用程序的心脏,因为它们决定如何处理 HTTP 请求。什么是控制器?Hello World方法将 URI 片段传递给方法定义一个默认控制器重新定义方法的调用规则控制数据输出私有方法如何将控制器放入子文件夹中构造函数已保留的方法名称什么是控制器?简而言之,一个控制器就是一个类文件,是以一种能够和 URI 关联在一起的方式来命名的。假设这个 URI:example.com/index.php/blog/在上面的例子中,CodeIgniter 将尝试寻找并装载一个名为blog.php的控制器。当控制器的名字匹配 URI 的第一段时,它将被装载。让我们试试看: Hello World!我们来创 阅读全文
CodeIgniter URL
2013-06-07 17:17 by youxin, 309 阅读, 收藏, 编辑
摘要:
默认情况下,CodeIgniter 中的 URL 被设计成对搜索引擎和人类友好。不同于使用标准“查询字符串”方法的是,CodeIgniter 使用基于段的方法:example.com/news/article/my_article注意:查询字符串形式的 URL 是可选的,分述如下。URI 段根据模型-视图-控制器模式,在此 URL 段一般以如下形式表示:example.com/class/function/ID第一段表示调用控制器类。第二段表示调用类中的函数或方法。第三及更多的段表示的是传递给控制器的参数,如 ID 或其它各种变量。URI 类和URL 辅助函数中的函数可以使你的 URI 更简单 阅读全文
CodeIgniter入门案例之简单新闻系统三
2013-06-07 17:05 by youxin, 646 阅读, 收藏, 编辑
摘要:
创建新闻条目现在你已经知道了怎样用CodeIgniter从数据库中读取数据,但还不知道怎样往数据库中写入数据。在这一节中,你将学到通过怎么扩展之前写过的新闻控制器和数据模型来实现这一功能。创建一个表单为了向数据库里输入数据,你需要创建一个表单来输入需要被存储的信息。这就是说你需要一个带两个输入域的表单,一个用来输入标题,一个用来输入内容。另外,你可以通过数据模型中的标题来取得slug。在application/views/news/create.php创建一个新的视图。<h2>Create a news item</h2><?php echo validation 阅读全文
CodeIgniter数据库类
2013-06-07 00:37 by youxin, 430 阅读, 收藏, 编辑
摘要:
文档:http://codeigniter.org.cn/user_guide/database/index.htmlCodeIgniter 有一个配置文件让你存放数据库连接值(username:用户名,password:密码,database name:数据库名,等等..). 该配置文件位于application/config/database.php. 你也可以通过放置不同的database.php文件到特定的环境配置文件夹里来设置特定环境的数据库连接值.配件文件存放在一个如下格式的一个多维数组里:$db['default']['hostname'] = & 阅读全文
CodeIgniter入门案例之简单新闻系统二
2013-06-05 00:38 by youxin, 520 阅读, 收藏, 编辑
摘要:
教程 − 读取新闻条目在上一节中,我们通过如何写出一个包含静态页面的类来了解了一些这个框架的基本概念。我们也根据自定义路由规则重新梳理了URI。现在是时候向大家介绍动态内容和如何使用数据库了。创建你的数据模型数据库的运算并不是在控制类中进行的,而是在数据模型中,这样他们就可以在后面很容易地被反复使用。数据模型就是对你的数据库或其他数据存储方式进行取回、插入和更新的地方,它们的功能是展示你的数据(They represent your data)。打开application/models文件夹新建一个文件news_model.php,代码如下。确保你已经按照这里的说明配置了自己的数据库并且数据库 阅读全文
CodeIgniter入门案例之简单新闻系统一
2013-06-04 18:18 by youxin, 1415 阅读, 收藏, 编辑
摘要:
通过由浅入深,前后连贯的章节安排,本教程将向你介绍CodeIgniter框架基础以及MVC程序架构的基本理论。在教程中,你将创建一个简单新闻系统。首先,你将学会:如何编写代码让程序能够加载静态内容页面;紧接着,你将学会:从数据库中读取新闻条目数据并将其显示出来;最后,你将学会:通过创建页面表单将新闻条目添加进数据库中。教程将主要介绍以下技术要点:模型-视图-控制器(Model-View-Controller)基础知识。URI路由基础。表单验证。使用"Active Record"执行基本的数据库操作。为便于理解,整个教程会被分拆成多个章节——每个章节会介绍涉及到CodeIgn 阅读全文
codeigniter介绍及安装
2013-06-04 10:54 by youxin, 651 阅读, 收藏, 编辑
摘要:
首先说一下这个名字,非常有意思,igniter意思是点火器,引爆装置。前面加个code,比喻编码被这个框架给引爆了。名字起得非常不错。官网地址:http://ellislab.com/codeigniter中文官网:http://codeigniter.org.cn/首先下载代码,我下载的版本是CodeIgniter_2.1.3。CodeIgniter 安装分为四个步骤:解压缩安装包。把 CodeIgniter 文件夹和里面的文件上传到你的服务器。通常 index.php 在根目录。用任何文本编辑器打开application/config/config.php去设置你的网站根 URL。如果你打 阅读全文
主流的php框架
2013-06-04 10:13 by youxin, 434 阅读, 收藏, 编辑
摘要:
1.Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不太高。事实上,Yii是最有效率的PHP框架之一。2.zend作为PHP艺术及精神的延伸,Zend框架的基础在于简单,面向对象的最佳方法,方便企业的许可协议,以及经过反复测试的快速代码库。Zend框架旨在建造更安全,更可靠的Web 2.0应用及we 阅读全文