首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CI一些优秀实践

CI 2.0 将内置 CSRF 检查, Google 上搜索 "CSRF tokens" 学习更多关于保护表单提交和 URL 链接的知识, Ajax 应用方面可以搜索 "double cookie...客户端你能够通过单独发送HTTP头部使浏览器缓存页面来提高性能,当你使用 AJAX 的时候你也需要了解它来禁止浏览器缓存。...模板渲染不必每次都调用 header 与 footer MY_Controller 头部和 __construct 函数中添加以下内容,用于设定默认的模版信息,其中 SITE_NAME 需要自己...其中前三个文件夹是用以创建模型、视图和控制器的。您的大部分工作都应该是创建属于自己的MVC,并可在config里加入配置文件,libraries里加入一些对象和方法,用来辅助您的模型和控制器工作。...CodeIgniter工作过程 有一个http请求,如http://www.google.com/blog/,首先进入CI的引导文件index.php。

3.3K50

讲解-加载静态页

控制器就是用来帮助你完成工作的一个简单的类,它是你整个 Web 应用程序的"粘合剂"。.../latest/10 根据此 URL 我们可以推测出有一个名称为 "news" 的控制器,被调用的方法为 "latest","latest" 方法的作用应该是查询10条新闻条目并展示页面上。...$page, $data); echo view('Templates/Footer', $data); } 请求的页面存在,将给用户加载并展示出一个包含页头页脚的页面。...所以控制器中 $data['title'] 的值,就等于视图中 $title 的值。 路由 控制器已经开始工作了!...每个规则都是一个正则表达式(左侧)映射到一个控制器和方法(右侧)。获取到请求CodeIgniter 首先查找能匹配到的第一条规则,然后调用相应的可能存在参数的控制器和方法。

3.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

概述-服务

Introduction CodeIgniter中的所有类均作为“服务”提供。这仅意味着,要对要调用的类进行硬定义,而不是对要加载的类名称进行硬编码,而是一个非常简单的配置文件中定义它们。...然后,我们将用调用此新类的代码替换计时器创建代码: $timer = \Config\Services::timer(); 需要更改所使用的实现时,可以修改服务配置文件,并且更改无需更改即可自动整个应用程序中进行...几乎所有CodeIgniter的类都提供了它们遵循的接口。您要扩展或替换核心类,只需要确保满足接口的要求并且知道这些类是兼容的即可。...您想创建一个提供不同方式创建路由的替代品,只需创建一个实现以下内容的新类RouterCollectionInterface: class MyRouter implements \CodeIgniter...您想从任何控制器获取职位服务,只需使用框架的Config\Services类即可获取服务: $postManager = Config\Services::postManager(); 注解 如果多个

1.7K10

tp5框架无刷新分页实现方法分析

传值到后端控制器,接收并存入page即可,一定要存入page,不能是其他变量名(因为框架封装的类里面获取当前页就是从 具体做法是: 1.进入首页面(带分页的页面),用js或jQuery 给页码a标签阻止跳转...; $('#pag ul li a').attr("href",'javascript:void(0);'); 2.给各页码元素绑定点击事件,所做的逻辑就是页码被点击,计算或获取到要跳转的页面值。...4.后端控制器获取到传值,并存入$page ,其他分页的逻辑按照正常做法查询即可,只是查询出来的数据需要组装成字符串返回去。...2-5 jquery代码如下: $(function(){ //去掉分页的点击跳转 del_jump(); //分页被点击,进行无刷新分页 $("#pag").on('click',...入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

5.1K21

概述-处理 HTTP 请求

处理 HTTP 请求 为了充分地使用 CodeIgniter,你需要对 HTTP 请求和响应的工作方式有基本的了解。对于所有想要成功的开发者来说, 理解 HTTP 背后的概念是 必须 的。...浏览器请求页面,它会询问服务器是否可以获取该页面。然后, 服务器准备页面并将响应发送回发送请求的浏览器。就是这样简单,也可以说复杂些,但基本就是这样。 HTTP 是用于描述该交换约定的术语。...HTTP 请求 客户端(浏览器,手机软件等)尝试发送 HTTP 请求,客户端会向服务器发出一条文本消息然后等待响应。... IANA 可以找到 完整的响应状态码列表 。...变量 $request->getVar('foo'); $request->getGet('foo'); $request->getPost('foo'); // 从 AJAX 调用中检索 JSON

1.8K10

CI框架附属类用法分析

分享给大家供大家参考,具体如下: 有些时候,你可能想在你的控制器之外新建一些类,但同时又希望 这些类还能访问 CodeIgniter 的资源 任何在你的控制器方法中初始化的类都可以简单的通过 get_instance...通常来说,调用 CodeIgniter 的方法需要使用 $this $this- load- helper('url'); $this- load- library('session'); $this-...config- item('base_url'); 但是 $this 只能在你的控制器、模型或视图中使用,如果你想在 你自己的类中使用 CodeIgniter 类,你可以像下面这样做: 首先,将 CodeIgniter...(); $CI- load- helper('url'); $CI- load- library('session'); $CI- config- item('base_url'); 如果你类中使用“...Example 类之后都可以正常工作,而不需要在每个方法里都调用 get_instance() 函数。

1.3K21

Codeigniter里的无刷新上传的实现代码

好久没有更新了,写点吧算是翻译吧,纯原创没空啊XD Codeigniter还是很好用的,淡水一直很推崇。说是codeigniter里的无刷新上传吧,fashion 一点的说法就是利用AJAX技术上传。...控制器部分 首先,我们要建一个上传的表单和一个upload的Controller。index方法里渲出upload的视图。...第三步,上传文件 控制器部分 现在开始上传文件了。我们的URL是这样的 /uplaod/upload_file/,所以,我们uoload的控制器里建立upload_file方法。...Ajax取得指定url的内容,填充到#files的div里。 控制器部分 不多说了。...$files = $this- files_model- get_files(); $this- load- view('files', array('files' = $files)); } 调用模型的方法取得数据

1.7K20

盘点7款顶级 PHP Web 框架

例如:单元测试(Unit Testing);对象关系映射 (ORM);包系统(A Packaging System);轻量级 Blade 模板引擎(Lightweight Blade);RESTful 控制器...2、Yii2 Yii2是一个基于组件的高性能 PHP 框架,基本能提供PHP 框架中的所有特性,因其安全功能而受到网站开发人员的欢迎,并且具有极好的可扩展性,程序员需要确保可扩展性并开发高效、易于维护的...Yii2 的优势:AJAX 支持;处理错误的有效工具;自定义默认设置;简单的第三方组件集成;强大的社区支持等。...4、CodeIgniter CodeIgniter 是十分适合开发动态网站的 PHP 框架。它是一个非常简单的轻量级 PHP 框架,大小只有 2 MB 左右。...此外,CakePHP还有其他优势:插件和组件的简易扩展;适当的类继承;零配置;现代框架;支持 AJAX;快速构建;内置验证等。

4.6K00

PHP面试题,面试必看!

控制器 控制器的命名空间有所调整,并且可以无需继承任何的控制器类。...适合用于中小项目的开发 ==thinkPHP缺点==: 1.对Ajax的支持不是很好; 2.目录结构混乱,需要花时间整理; 3.上手容易,但是深入学习较难。...能为开发者带来快速的快捷的工作。 ==CodeIgniter优点==: 1.Code Igniter推崇“简单就是美”这一原则。没有花哨的设计模式、没有华丽的对象结构,一切都是那么简单。...答: ==public: 公有类型:== 子类中可以通过self::var调用public方法或属性,parent::method调用父类方法,实例中可以能过$obj->var 来调用 public...==protected: 受保护类型:== 子类中可以通过self::var调用protected方法或属性,parent::method调用父类方法实例中不能通过$obj->var 来调用 protected

1.9K20

-代码模块

代码模块 CodeIgniter支持代码模块化组合,以便于你构建可重用的代码。模块通常来说是以一个特定主题为中心而构建的,并可被认为是大型的程序中的一系列微型程序。...= false; 和文件打交道Working With Files 这节将会详细介绍每种文件类型(控制器,视图,语言文件等)以及模块中如果使用它们。...控制器 主 app/Controller 目录下定义的控制器不会自动被URI路由自动调用,所以需要在路由文件内部手动声明: // Routes.php $routes->get('blog', 'Acme...辅助函数 使用 helper() 方法,辅助函数将会通过定义的命名空间自动定位。...只要它存在于 Helpers 命名空间目录下: helper('blog'); 语言文件 使用 lang() 方法,语言文件是通过定义的命名空间来自动定位的。

1.2K10

CI框架网页缓存简单用法分析

缓存是如何工作的? 可以针对到每个独立的页面进行缓存,并且你可以设置每个页面缓存的更新时间。 页面第一次加载,缓存将被写入到 application/cache 目录下的文件中去。...之后请求这个页面,就可以直接从缓存文件中读取内容并输出到用户的浏览器。 如果缓存过期,会在输出之前被删除并重新刷新。...开启缓存 将下面的代码放到任何一个控制器的方法内,你就可以开启缓存了: $this- output- cache($n); //其中 $n 是缓存更新的时间(单位分钟) 上面的代码可以放在方法的任何位置...写入缓存文件之前,你需要把 application/cache/ 目录的权限 设置为可写。 删除缓存 如果你不再需要缓存某个页面,你可以删除掉该页面上的缓存代码, 这样它在过期之后就不会刷新了。...相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结

1.4K41

CI框架实现创建自定义类库的方法

存储位置 你的类库文件应该放置 application/libraries 目录下,当你初始化类CodeIgniter 会在这个目录下寻找这些类。...一旦加载,你就可以使用小写字母名称来访问你的类: $this- someclass- some_method(); 初始化类传入参数 加载类库的时候,你可以通过第二个参数动态的传递一个数组数据,该数组将被传到...通常情况下,在你的控制器方法中你会使用 $this 来调用所有可用的 CodeIgniter 方法: $this- load- helper('url'); $this- load- library('...session'); $this- config- item('base_url'); 但是 $this 只能在你的控制器、模型或视图中直接使用,如果你想在你自己的类中使用 CodeIgniter 类,...扩展一个类和替换一个类差不多,除了以下几点: 类定义必须继承自父类。

2.4K31
领券