CI基础知识二

1.日历类 $this->load->library(‘calendar’); echo $this->calendar->generate();//根据服务器时间创建一个当前年月的日历 echo $this->calendar->generate(2006, 6);//创建2006年6月日历 $data = array( 3 => ‘http://blog.phpfs.com/’, 7 => ‘http://blog.phpfs.com/’, 13 => ‘http://blog.phpfs.com/’, 26 => ‘http://blog.phpfs.com/’ );

echo $this->calendar->generate(2006, 6, $data);

2.购物车类 $this->load->library(‘cart’); //这个依赖session需要配置以下内容(将session保存到数据库并加密) $config[‘encryption_key’] = ‘Joyous’;//加密用 $config[‘sess_cookie_name’] = ‘ci_session’; $config[‘sess_expiration’] = 7200; $config[‘sess_expire_on_close’] = FALSE; $config[‘sess_encrypt_cookie’] = true; $config[‘sess_use_database’] = TRUE; $config[‘sess_table_name’] = ‘ci_sessions’; $config[‘sess_match_ip’] = FALSE; $config[‘sess_match_useragent’] = TRUE; $config[‘sess_time_to_update’] = 300;//5分钟更新一次

购车使用参考:http://codeigniter.org.cn/user_guide/libraries/cart.html

3.配置类 主要配置文件application/config/config.php,这个已经自动加载 手动加载配置文件 $this->config->load(‘filename’);//注意没有.php的扩展名 获取配置元素 $this->config->item(‘item_name’);//这个是配置中的索引 动态设置配置元素 $this->config->set_item(‘item_name’, ‘item_value’); //这里仅仅更改了当前获取的元素而不会更改配置当中的

不同环境加载不同配置文件 比如当前是production环境,那么可以在config文件夹下添加production文件夹放入文件,那么会优先加载

$this->config->site_url();这个会带上$config[‘index_page’]的值 $this->config->base_url();站点根目录

4.安全 $this->input->post();//类似$_POST $this->input->cookie();//类似$_COOKIE $this->input->server();//类似$_SERVER $this->input->post(‘some_data’, TRUE);//可以取得的数据经过跨站脚本过滤

5.输出类 $this->output->set_output();重要:使用这个方法有一点很重要,就要将它放在最后一句 $this->output->set_header();设置发送到浏览器http协议的标头

6.分页类 $this->load->library(‘pagination’); $config[‘base_url’] = ‘http://blog.phpfs.com/archives/category/php’; $config[‘total_rows’] = 200;//数据总数 $config[‘per_page’] = 20; //每页数据量 $this->pagination->initialize($config); echo $this->pagination->create_links(); 可以将配置文件写入到pagination.php配置文件中 配置参考http://codeigniter.org.cn/user_guide/libraries/pagination.html

7.XSS过滤 $data = $this->security->xss_clean($data); 如果希望能自动过滤所有访问的数据 可以配置$config[‘global_xss_filtering’] = TRUE; $config[‘csrf_protection’] = TRUE;启用跨站请求伪造

8.Session $this->load->library(‘session); 获取一项$this->session->userdata(‘item’); 添加session信息 $this->session->set_userdata($array);//参数为数组,由于cookie只能存放4k的数据 //所有 存放信息要注意大小 获取所有session $this->session->all_userdata(); 删除数据 $this->session->unset_userdata(‘item_name’); 将session保存在数据库中可以参考http://codeigniter.org.cn/user_guide/libraries/sessions.html 销毁session $this->session->sess_destroy();

9.数组辅助函数 $this->load->helper(‘array’); element();//可以获取索引元素而不需要判断是否含有 random_element();//随机返回数组内一个元素

10.表单辅助函数 $this->load->helper(‘form’); echo form_open(’email/send’); 输出<form method=”post” accept-charset=”utf-8″ action=”http://localhost/email/send” /> 第二个参数可以添加一些属性 $attributes = array(‘class’ => ’email’, ‘id’ => ‘myform’); echo form_open(’email/send’, $attributes); $hidden = array(‘username’ => ‘Joe’, ‘member_id’ => ‘234’); echo form_open(’email/send’, ”, $hidden); 第三个参数可以添加一些隐藏域 更多参考:http://codeigniter.org.cn/user_guide/helpers/form_helper.html

11.html辅助函数 link_tag() echo link_tag(‘css/mystyles.css’); //生成 <link href=”http://site.com/css/mystyles.css” rel=”stylesheet” type=”text/css” />

12.字符串辅助函数 $this->load->helper(‘string’); random_string()根据你所指定的类型和长度产生一个随机字符串。可用于生成密码串或随机字串。 第一个参数指定字符串类型,第二个参数指定其长度。以下为可选字符串类型: alpha, alunum, numeric, nozero, unique, md5, encrypt 和 sha1 trim_slashes()去掉任何出现在字符串开头或结尾的斜线 reduce_multiples()去掉多余的一个紧接着一个重复出现的特殊字符 strip_quotes()去掉字符串中的单引号和双引号 quotes_to_entities()将字符串中的单引号和双引号转换为相应的 HTML 字符表示

13.文本辅助函数 highlight_code()对一段代码着色 highlight_phrase()对字符串的一个短语进行突出显示

14URL辅助函数 $this->load->helper(‘url’); site_url()站点的URL base_url()返回config设定的base_url current_url()返回当前正在查看的页面的完整URL uri_string()返回任何包含了函数的页面URI(域名之后的部分) anchor()创建基于站点的URL的标准链接地址 第一个参数包含你想附加到URL的任何段.像上面的site_url() 函数一样,段可以是字符串或数组. 注意: 如果你创建在应用程序内部的链接没有包含基本URL(http://…),这个参数会从你配置文件信息中自动加载。 只需要写上你的 URL 分段即可。 第二个参数是你想给链接的内容(<a>标签中间的内容).如果让它为空,将会由URL替代. 第三个参数包含一组你想附加给链接的属性.这些属性可以是简单的字符串或相关的数组 prep_url()可以在url中么有http://的情况下添加上 redirect();//通过发送http头命令客户端转向指定的URL,第二个参数是location或者refresh,第三个参数是http状态码

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Vamei实验室

Python补充02 Python小技巧

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在这里列举一些我使用Python时积累的小...

20870
来自专栏Java帮帮-微信公众号-技术文章全总结

hibernate延迟加载详解

hibernate延迟加载详解 Hibernae 的延迟加载是一个非常常用的技术,实体的集合属性默认会被延迟加载,实体所关联的实体默认也会被延迟加载。hiber...

32130
来自专栏积累沉淀

Python快速学习第十天

11.1 打开文件 open函数用来打开文件,语法如下: open(name[, mode[, buffering]]) open函数使用一个文件名作为唯...

22860
来自专栏逸鹏说道

C# 温故而知新: 线程篇(二) 上

线程池和异步线程 目录: 1 什么是CLR线程池? 2 简单介绍下线程池各个优点的实现细节 3 线程池ThreadPool的常用方法介绍 4 简单理解下异步线程...

32390
来自专栏云计算教程系列

如何使用Grep

Grep是一个命令行实用程序,可以使用常见的正则表达式语法搜索和过滤文本。它无处不在,动词“to grep”已经成为“搜索”的同义词。它grep是一个有用的工具...

14530
来自专栏Python攻城狮

Python系统编程-进程1.进程1.多任务的引入2.多任务的概念

有很多的场景中的事情是同时进行的,比如开车的时候手和脚共同来驾驶汽车,再比如唱歌跳舞也是同时进行的;

9530
来自专栏Java成长之路

volatile变量详解

关键字volatile可以说是Java虚拟机提供的最轻量级的同步机制,但是它并不容易完全被正确、 完整地理解,以至于许多程序员都习惯不去使用它,遇到需要处理多线...

12520
来自专栏C/C++基础

模板与分离编译模式

一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件连接起来形成单一的可执行文件的过程成为分离编译模式。

10220
来自专栏java一日一条

从根源上解析 Java volatile 关键字的实现

也就是说,如果一个变量在多个CPU中都存在缓存(一般在多线程编程时才会出现),那么就可能存在缓存不一致的问题。

5920
来自专栏PHP实战技术

你真的了解如何将 Nginx 配置为Web服务器吗

阅读之前,建议先阅读初识 Nginx。 之后,我们来了解一下 Nginx 配置。

25480

扫码关注云+社区

领取腾讯云代金券