在开发的时候框架是十分重要的,目前有很多框架,WPF中比较出名的MVVM等,这些都是用来组织开发文件的,就是把一个应用分开来写.下面总结一下CI框架的用法. CI框架是基于MVC的,分别是 1.Models:模型,用来摆放实体类,工具类,数据库访问类等,属于后台的数据支持与类型支持. 2.Controls:控制器,当做一个交警的作用,就是控制内部数据和外部界面的协调,所以这个是在M和V中间做调节作用了,竟然是调节作用,那么就需要掌握一些东西:怎么和M交流,怎么和V交流,还有用户是怎么和自己交流呢…
在CodeIgniter框架中,CI本身自带了验证码,但是查看文档的时候,发现: 需要新建一个表,用来存储验证码信息.因为习惯了session存储验证码信息,所以我把我认为比较好看的验证码应用在了CI的框架中. 在 CodeIgniter/application/libraries/ 目录下,新建一个文件 取名 captcha.php. <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Capt…
去掉CodeIgniter(CI)默认url中的index.php的步骤: 1.打开apache的配置文件,conf/httpd.conf : LoadModule rewrite_module modules/mod_rewrite.so 把该行前的#去掉. 搜索 AllowOverride None(配置文件中有多处),看注释信息,将相关.htaccess的该行信息改为: AllowOverride All 2.在CI的根目录下,即在index.php,system的同级目录下,建立.hta…
CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包. 通过下面四步来安装 CodeIgniter: 解压缩安装包: 将 CodeIgniter 文件夹及里面的文件上传到服务器,通常 index.php 文件将位于网站的根目录: 使用文本编辑器打开 application/config/config.php 文件设置你网站的根 URL,如果你想使用加密或会话,在这里设置上你的加密密钥: 如果你打算使用数据库,打开 application/config/databas…
前段时间使用CI做了两个小项目,对CI的流程和设计理念也有了一些新的认识.CI架构的一些基本优化这里就不做介绍了,如搬离system 文件夹等. 最近有一个稍微大一点的系统,也准备拿CI来做.设计时遇到架构上的一个问题: 我们知道,CI的工作流程大致是这样的,官网3.0的图: 一个典型的网站加载流程应该是在 controller 里添加public 方法,在方法里调用 load->view() 来显示视图,返回结果.CI 对于敏捷开发快速迭代相当友好,一个网站很容易就搭起来,而且似乎还条理清晰.…
最近一直想做一个技术类的新闻站点,想做的执行效率高些,想用PHP做,一直纠结于用纯PHP做还是用CI或者THINKPHP.用纯PHP效率高,缺点 n多,比如安全方面.构架方面等等等等:用CI.thinkPHP的话这些需要考虑的就少些,但是怕效率方面差得太多.后来就想先测测吧,如果差得太多, 就自己写个“框架”,满足自己的需求即可的框架. CI版本是2.1.3,thinkphp用的是3.1. 因为大多数站点所做的事情就是查询数据库,因此此次的测试着重于数据库查询并显示.测试的数据库是dede的sy…
最近在学习B/S,选择了PHP CI框架作为切入点. 在尝试制作个人CMS的时候遇到了需要分页的情况,网上好像搜不到3.0版本以上的例子,下面附上本地实验的代码,供参考. 数据库情况如下: 首先看Controller <?php /** * Created by PhpStorm. * User: erdao * Date: 16-1-11 * Time: 下午10:25 */ class P extends CI_Controller { /** * P constructor. */ pub…
引言: 前两天业务涉及到一个拉取答题排行榜的需求,数据库里数据是这样的: 同一个人可能提交过多次成绩,所以同一个人可能会有多次记录: 同一个人提交的多次成绩中可能有至少两次成绩是一样的. 于是,查询的时候,首先查询出每个人的最高成绩记录,然后如果某个人的最高成绩记录有多条,去重! 最终sql语句如下: /*拉取排行榜*/ public function rank(){ $data= json_decode(file_get_contents('php://input'), true); $nam…
database.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 $active_group = 'default'; $active_record = TRUE;   $db['default']['hostname'] = 'localhost/xe'; $db['default']['username'] = 'root'; $db['default']['password'] = 'root'; $db['default']['datab…
//查询: $query = $this->db_query("SELECT * FROM table"); ================================== //result() 返回对象数组$data = $query->result(); //result_array() 返回数据$data = $query->result_array(); //row() 只返回一行对象数组$data = $query->row(); //num_r…
CodeIgniter(下面简称"CI")是一款国外优秀的PHP轻量级MVC框架,它支持PHP4和PHP5.是开发中小型可拓展性需求高的Web应用程序的利器.眼下你所见到的这个博客程序,正是採用CI进行的编写. 秉承MVC架构的思想,CI中的全部控制器都须要经过单点入口文件index.php(默认)来载入调用. 也就是说.在默认情况下,全部CI开发项目的URL都形例如以下面这样的形式: http://localhost/index.php/blog/logs/this_is_a_tes…
codeigniter (CI)是一个优秀.敏捷的PHP开源框架,尤其封装了对数据库的操作,很方便,以下是php ci常用的数据库操作,作个记录: /* ================================== 查询 $query = $this->db_query("SELECT * FROM table"); ================================== */ //result() 返回对象数组 $data = $query->res…
下面是去掉index.php的操作 PHP CodeIgniter(CI)去掉 index.php - Langjun - 博客园 设置访问的默认路径是在…
NO1.学习要点: 一.CodeIgniter 框架的简介 二.CodeIgniter 框架的安装 三.CodeIgniter 框架的目录结构分析 四.CodeIgniter 框架是如何工作的? 五.CodeIgniter 框架中的控制器.视图.模型及数据库操作 六.CodeIgniter 框架中辅助函数.类库.适配器的学习 七.……  注: CI官方用户指南手册:http://codeigniter.org.cn/user_guide/toc.html PHP点点通CI源码分析:http://…
CodeIgniter ci 如果需要扩展多个base Controller,譬如一个 core/MY_Controller表示基本Controller,一个  core/MY_AuthController表示需要验证的Controller.如果分别放在两个文件中,MY_AuthController是不能工作的,只能把class MY_AuthController 放在 MY_Controller.php 中. 这里可以解决这个问题. http://philsturgeon.co.uk/blog…
CodeIgniter框架学习 安装 下载好包后,解压复制 system 和 application 目录到网站目录下 配置 配置目录 打开index.php设置好 $system_path . $application_folder和 $view_folder 三个变量的值如'/www/MyUser/system' 配置数据库 打开application/config/database.php配置为 $db['default'] = array( 'dsn' => '', 'hostname'…
使用场景: 注意 get_instance 的使用场景,这个方法并不是用在控制器中的.而是用在控制器外面,比如类库中,想操作 CI 超级对象的时候,超级对象实际上就是当前控制器的实例. 你随便下个CI框架的源码都会看到很多的get_instance() 函数,这个函数是用来获取CI 的全局超级对象,CI 是单例模式的框架,所有全局有一个超级对象.因为只有一个实例,所以无论这个函数使用多少次都不会消耗资源的.一般来说,只有在helper或library中才使用get_instance. 以前我们都…
到了这里,终于进入CI框架的核心了.既然是“引导”文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http://you.host.com/usr/reg 经过引导文件,实际上会交给Application中的UsrController控制器的reg方法去处理. 这之中,CodeIgniter.php做了哪些工作?我们一步步来看. 1.    导入预定义常量.框架环境初始化 之前的一篇博客(CI框架源码阅读笔记2 一切的入口 ind…
本文转载自:http://www.softeng.cn/?p=53 今天的主要内容是,使用CodeIgniter框架完整的MVC内容来做一个简单的计算器,通过这个计算器,让大家能够体会到我在第一节课中所介绍的标准的MVC框架与用户交互的一个过程.下面,开始今天的课程. 首先,还是和昨天一样,解压下载到的CodeIgniter框架源码,更改目录名称为CI_02(如果不会此步骤,请看第一课)并载入工程.在昨天的例子中,大家可以看到,最先被修改的控制器是Welcome类,可是一般来说,访问一个网站不应…
请参考:CI文档的输入类部分: $this->input->post() $this->input->get() ----------------------------------------------------------------------------------------------------------------------- 本文主要介绍在CodeIgniter框架中如何获取get和post参数. 获取get数据 在PHP主流的框架中,CI中url的pat…
CodeIgniter 是一个为用 PHP 编写网络应用程序的人员提供的工具包.它的目标是实现让你比从零开始编写代码更快速地开发项目,为此,CI 提供了一套丰富的类库来满足通常的任务需求,并且提供了一个简单的接口和逻辑结构来调用这些库.CodeIgniter 可以将需要完成的任务代码量最小化,这样你就可以把更多的精力放到项目的开发上了.   // CodeIgniter 是一个应用程序框架 1.免费:CodeIgniter是经过Apache/BSD-style开源许可授权的,只要你愿意就可以使用…
http://blog.csdn.net/yanhui_wei/article/details/25803945 一.大纲 1.codeigniter框架的授课内容安排 2.codeigniter框架的简介 |-----关于框架的概念 |-----使用CI框架的好处 |-----为什么选择CI框架 3.codeigniter框架的具体安装步骤 |-----官网下载:http://www.codeigniter.com/ |-----httpd.conf配置文件中rewrite重写机制的开启 |-…
第一课中搭建的基本的 框架模型, 只有一个 index.php 作为执行文件,按这种方式最不稳定的因素就是路径的问题. 我们经常需要通过合适的参数,比如 load_class('output') 或 $this->load->libraray('email') 等函数就可以加载到相应的类,所以本课将回归到 CI 整个目录体系结构,以 system 和 application ,重新对代码进行组织. 1. 对 index.php 进行重新组织,定义基本的常量,并分离出核心的 CodeIgnite…
codeigniter(ci)在nginx下返回404的处理方法即codeigniter在nginx下配置方法 进入nginx的配置文件 加上一句(本来就有这句,只需要修改一下就行了) location / { index index.php; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?$1 last; break; } }…
PHP框架CI CodeIgniter 的log_message开启日志记录方法 第一步:index.php文件,修改环境为开发环境define(‘ENVIRONMENT’, ‘development’);第二步:application/config/config.php文件修改$config[‘log_threshold’] = 4; //0表示关闭,4表示所有级别都打开第三步:在需要输出日志的地方加入如下类似语句log_message(‘error’, ‘Some variable did…
-------------------------------------------------------------------------------------------------------- 载入视图 $this->load->view('home/name'); //可以用子文件夹存储视图,默认视图文件以'.php'结尾 载入多个视图 $data['title'] = 'chenwei'; //给视图添加动态数据 $data['message'] = 'Your messa…
------------------------------------------------------------------------------------------------------ 进入框架入口文件index.php => 定义应用的当前环境(用于设置错误模式):define('ENVIRONMENT', 'development'); 设置系统文件目录名:$system_path = 'system'; 设置应用文件目录名:$application_folder = '…
------------------------------------------------------------------------------------------------- 市场上PHP开源框架很多,CodeIgniter做为其中一款,选择了它你也就拥有了明显的特性优势: 轻量快速,彻底的MVC,干净的URL,不使用模板引擎求效率,扩展方便,文档优秀. CI的设计架构目标:动态实例化,引用最少核心资源. 松耦合,减少组件依赖. 组件专一性. CI的应用程序流程: index…
怎么查看CI的版本信息?想看某个项目中使用的CI具体是哪个版本,怎么查看?system\core\codeigniter.php中可以查看版本常量/** * CodeIgniter Version * * @var string * */ define('CI_VERSION', '3.1.4'); CodeIgniter 主要有 3 个版本:CodeIgniter 3(稳定版).CodeIgniter 4(开发版)和 CodeIgniter 2(旧版)CodeIgniter 3.xCodeIg…
流程图: 控制: 1.当想在控制类中直接跳转到其它控制类时,可以使用redirect()函数. 2.session的应用,在分页查询的时候可以用session(普通的get方式对CI来说太麻烦了):在信息或者状态提示的时候可以使用session的“闪出数据”. 视图 : 1.如果有多个视图被控制器调用,那么他们将会被合并到一起.当我们一次性载入多个视图的时候,你只需在第一个视图传入数据就可以了. 2.view函数第三个可选参数可以改变函数的行为,让数据作为字符串返回而不是发送到浏览器. 3.引用…