php framework kohana 学习1CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码相当于)

本文实例总结了CI框架常用经典操作类。分享给大家供大家参考,具体如下:

Kohana 是同一缓慢纯粹 PHP5 的框架,基于 MVC 模式开发,
它的表征就是愈安全性轻量级代码好用

1. 超级对象被的URI

技术

  • 小心谨慎的 PHP5 面向对象(OOP)编程
  • 用 SQL 助手实现简单的数据库抽象层
  • 多 session 驱动(native、数据库、cookie)
  • 动态事件处理器
  • 基于 CodeIgniter 开发

CI_URI类的解析url的有关消息

Kohana 与任何框架来什么不同?

尽管如此 Kohana 使用多一如既往的设计模式和定义,但产生有不同之处:

  1. 严谨的 PHP5 面向对象编程
    优势:可见性保护,自动加载,重载,接口,抽象类,单例模式等。

  2. 社区于,而未商业为。 Kohana 是千篇一律慢慢悠悠基于社区的著述。Kohana
    的开发者们来世界各地,有着各自的生。这让开发速度可以加强,并当紧缺日外提供bug修复以及反映用户提出的建议。

  3. GET、POST、COOKIE 以及 SESSION 数组获得改善。 Kohana
    不对准全局数据做读取限制,但还提供与 CodeIgniter 相同之多少过滤跟
    XSS 防护。

  4. 层叠式资源、 模块 以及近似继承。 控制器、数据模型、库、助手和
    视图 均能当 系统
    中之另地方进行载入。程序的部署选可叫延续或挂。

  5. 无命名空间的冲 。 类均上加了而 “_Controller”
    之类的后缀,从而令用户的控制器和数据模型可被以和地装载。

  6. 真正的自行类装载。 这包仓库、控制器、数据模型以及助手。与
    CodeIgniter 不同,Kohana
    的机动装是真的含义及之动态装载,而毫不事先装载。

  7. 库房驱动及 API 的一致性。 库房能够使不同之叫来拍卖不同的表
    API。例如,session 的贮存有 数据库 、cookie 和 native
    几种植,但其都采用同样之接口。这要是得库可以不断的长新的教,但未会见潜移默化至
    API 的一致性。

  8. 雄的事件处理器。 Kohana
    的风波而叫动态的长、替换或去。这叫用户会以 Kohana
    执行的过程中动态做更改,而非影响原本的体系代码。

 

直白行使$this->uri可以以它的有关属性

system/core/URI.php文件中

一部分常用属性:

(1) 分段获取url相关信息

$this->uri->segment(4);
//获取url中pathinfo
//的第四段的值

入口文件.php/控制器/动作/参数1/参数2/…

(2) 通过艺术被之形参传参

要设默认值和各个要留心

index.php/user/index/3/zhangsan

public function index($id=0,$name=''){
  echo $id,$name;
}

2.CI控制器的壮大

当application/core/文件夹下面

添加自己之扩展控制器

class MY_Controller extends CI_Controller{
  public function __construct(){
   parent::__construct
  }
}

配备型前缀

$config['subclass_prefix']='MY_';//默认值

3.型的相干操作

文件名全小写,类名首字母大写

提议类名加上 _model后缀

以控制器中加载模型:

在construct中加入:

$this->load->model('User_model');
$this->User_model->get();

也模型起别名

$this->load->model('User_model','user');
$this->user->get();

4.url着的常用函数

(1)帮助我们转移控制器

$this->load->helper('url');
site_url('控制器/方法');

(2)图片路径的下

$this->load->helper('url');



<img src="<?php echo base_url();?>upload/a.jpg" />

可以autoload.php中安排活动加载

$autoload[‘helper’]加入url

5. CI受之路由与伪静态

(1) 路由伪静态

$router['show/([\d]+)\.html']='article/show/$1';
article/show/5.html => article/show/5;

(2) 隐藏入口文件

#开启apache的rewrite模块
#在根目录中放入.htaccess文件进行重写
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

6. CI中之分页

//模型中操作
//装载分页类文件
$this->load->library('pagination');
$this->load->helper(url);
//分页链接
$config['base_url'] = site_url('user/test');
//总记录条数
$config['total_rows'] = 100;
//每页显示10条数据
$config['per_page'] = 10;
//偏移量
$offset_limit = intval($this->uri->segment(3));
$this->pagination->initialize($config);
echo $this->pagination->create_links();

分页中按钮的定制(注意在初始化之前安排好)

$config['first_link'] = '首页';
...
$config['uri_segment'] =3;//分页数据查询偏移量

于url的呐一样段子及,对许者的$offset

默认是3,否则要修改对应值

7. CI 中session的使用

//加载session库
$this->load->library('session');

(1)获取系统session

//比如获取客户端的ip地址
$this->session->userdata('ip_address');

(2) 添加起定义session

//添加
$this->session->set_userdata('some_name', 'some_value');
//获取
$this->session->userdata('some_name');
//删除
$this->session->unset_userdata('some_name');

(3)闪出数据 (取出一不好后失效)

//添加
$this->session->set_flashdata('item', 'value');
//获取
$this->session->flashdata('item');

报到数中 返回登录前的那么一个页面的url可以记录下来,

顾:一次性的多寡,读取一蹩脚后会自行销毁。

为保证平安,在config.php生成自由加密的字符串中进入

$config['encryption_key']="fjkdsffjkhjd#kjh";

是否要将cookie加密

$config['sess_encrypt_cookie'] =TRUE;

8. CI挨的文件上传

<form action="<?php echo site_url('user/upload');?>" enctype="multipart/form-data">
 <input type="file" name="pic"/>
 <input type="submit" value="submit">
</form>

上传处理:

$config['upload_path']="./upload";
$config['allowed_types']='gif|jpeg|jpg';
$this->load->library('upload',$config);
$this->upload->do_upload('pic');

文本上传的多寡

$filedata = $this->upload->data();

9. CI中的验证码

//生成验证码
$this->load->helper('captcha');
$this->load->helper('url');
$vals = array(
  'word'=>rand(1000,9999),
  'img_path'=>'./captcha/',
  'img_url'=>base_url().'/captcha/'
  'img_width'=>'150',
  'img_height'=>'100',
  'expiration'=>7200
);
$cap = create_captcha($vals);
echo $cap['image'];
//将验证码获取的数字放在session中
session_start();
$_SESSION['cap'] = $cap['word'];

再次多关于CodeIgniter相关内容感兴趣的读者可查阅本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用艺术总结》、《Zend
FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技能汇总》

瞩望本文所述对大家基于CodeIgniter框架的PHP程序设计有着助。

您或许感兴趣的文章:

  • CI框架验证码CAPTCHA辅助函数用法实例
  • php ci框架验证码实例分析
  • CodeIgniter表单验证方法实例详解
  • Codeigniter实现拍卖用户登录验证后底URL跳反
  • Codeigniter检测表单post数据的章程
  • CI框架表单验证实例详解
  • php ci
    获取表单中几近只跟名input元素值的代码
  • CodeIgniter框架常见用法工作总
  • CodeIgniter常用知识点小结
  • CI(CodeIgniter)框架中之增删改查操作
  • CI(CodeIgniter)框架介绍
  • CI(CodeIgniter)框架配置
  • CodeIgniter框架验证码类库文件和用法示例

相关文章

admin

网站地图xml地图