首页 > 代码库 > CodeIgniter框架——函数剖析+小知识点

CodeIgniter框架——函数剖析+小知识点

连接数据库:

格式: mysql -h主机地址 -u用户名-p用户密码

数据库的提示符:mysql>

退出数据库:

exit(回车)



 

知识点积累:



 

1、date_default_timezone_set — 设定用于一个脚本中所有日期时间函数的默认时区

格   式:bool date_default_timezone_set ( string $timezone_identifier )

参   数:timezone_identifier,时区标识符,例如 UTC 或 Europe/Lisbon。合法标识符列表见所支持的时区列表。

返回值:如果 timezone_identifier 参数无效则返回 FALSE,否则返回 TRUE



 

2、date_default_timezone_get — 取得一个脚本中所有日期时间函数所使用的默认时区

格式:string date_default_timezone_get ( void )

返回值:返回一个string。



 

3、time — 返回当前的 Unix 时间戳

格式:int time ( void )

返回值:返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。



 

4、date — 格式化一个本地时间/日期  

格式:string date ( string $format [, int $timestamp] )

参数:format - 必需。规定时间戳的格式。

   timestamp- 可选。规定时间戳。默认是当前时间和日期。

注释:时间戳是一种字符序列,它表示具体事件发生的日期和事件。

下面列出了一些常用于日期的字符:  d - 表示月里的某天(01-31)  m - 表示月(01-12)  Y - 表示年(四位数)  1 - 表示周里的某天其他字符,比如 "/", "." 或 "-" 也可被插入字符中,以增加其他格式。下面的例子用三种不同方法格式今天的日期:<?phpecho "今天是 " . date("Y/m/d") . "<br>";echo "今天是 " . date("Y.m.d") . "<br>";echo "今天是 " . date("Y-m-d") . "<br>";echo "今天是 " . date("l");?>
下面是常用于时间的字符:  h - 带有首位零的 12 小时小时格式  i - 带有首位零的分钟  s - 带有首位零的秒(00 -59)  a - 小写的午前和午后(am 或 pm)下面的例子以指定的格式输出当前时间:<?phpecho "现在时间是 " . date("h:i:sa");?>
通过 PHP mktime() 创建日期date() 函数中可选的时间戳参数规定时间戳。如果您未规定时间戳,将使用当前日期和时间(正如上例中那样)。mktime() 函数返回日期的 Unix 时间戳。Unix 时间戳包含 Unix 纪元(1970 年 1 月 1 日 00:00:00 GMT)与指定时间之间的秒数。语法:mktime(hour,minute,second,month,day,year)
通过 PHP strtotime() 用字符串来创建日期PHP strtotime() 函数用于把人类可读的字符串转换为 Unix 时间。语法:strtotime(time,now)实例:<?php$d=strtotime("tomorrow");echo date("Y-m-d h:i:sa", $d) . "<br>";$d=strtotime("next Saturday");echo date("Y-m-d h:i:sa", $d) . "<br>";$d=strtotime("+3 Months");echo date("Y-m-d h:i:sa", $d) . "<br>";?>


 

5、使用POST、COOKIE、SERVER数据

跨站脚本过滤:$data = http://www.mamicode.com/$this->input->xss_clean($data);

Note:此功能只应该处理提交的数据。而不应该用于其它情况,因为它要消耗很大的cpu资源。

CodeIgniter 有3个 helper方法可以让用户取得POST, COOKIE 或 SERVER 的内容,如下所示:

(1)$this->input->post()格式:$this->input->post(‘some_data‘, TRUE);参数:第一个参数是所要取得的post中的数据,如果数据不存在,方法将返回 FALSE (布尔值)。第二个参数是可选的,如果想让取得的数据经过跨站脚本过滤(XSS Filtering),把第二个参数设为TRUE。扩展:$this->input->get(‘some_data‘, TRUE);用来取得GET数据。     $this->input->get_post(‘some_data‘, TRUE);先搜索POST数据、后搜索GET数据。(2)$this->input->cookie()(3)$this->input->server() 


 

 6、装载类

装载,顾名思义,是用来装载元素。这些元素可以是库 (类) 视图文件, 辅助函数, 模型, 或者是你自己的文件。


 (1)$this->load->vars($array);

说明:这个函数以一个关联数组作为输入参数,将这个数组用PHP的extract函数,转化成与这个数组对应的变量 。你之所以要单独用这个函数也许是因为,你想在控制器的构造函数中设置一些全局变量,以使这些变量在任意函数调用的视图(view)里能够用上。你能多次调用这个函数。数组数据被缓存并被并入一个数组,用来转化成变量。


 (2)$this->load->helper(‘file_name‘);

说明:这个函数的作用是载入辅助函数,file_name 是辅助函数对应的文件名,不包括 _helper.php 扩展名。 


(3)$this->load->library(‘class_name‘,$config,‘object name‘);

说明:这个函数是用来加载核心类

class_name是你要加载的类的名称。提示: “类”和“库”是可替换使用的。

比如,你想用 CodeIgniter 来发送邮件,第一步就是在你的控制器里加载 email 类。$this->load->library(‘email‘);一旦被加载,就可以使用该类了, 使用 $this->email->some_function()。

第二个参数是可选的,作用是允许你有选择性地传递配置参数。一般来说你可以将参数以数组的形式传递过去。配置参数通常也可以保存在一个配置文件中。

$config = array (                  ‘mailtype‘ => ‘html‘,                  ‘charset‘  => ‘utf-8,                  ‘priority‘ => ‘1‘               );$this->load->library(‘email‘, $config);

第三个参数也是可选的,如果为空,类库通常就会被赋值给一个与类库同名的对象。例如,如果类库名为 Session, 它将会被赋值给一个名为 $this->session 的变量。如果你希望使用你的自定义名称,你可以通过第三个参数把它传递过去。

$this->load->library(‘session‘, ‘‘, ‘my_session‘);// Session 类现在可以通过下面的方式访问:$this->my_session

 (4)$this->load->file(‘filepath/filename‘,true/false);

 说明:这是一个通用的文件载入函数。在第一个参数中给出文件所在的路径和文件名,对应的文件将会被打开。默认情况下,数据会被发送给浏览器,就如同视图文件一样,但如果你将第二个参数设置为 true (布尔型) 那么数据就会以字符串的形式被返回,而不是发送给浏览器。


 (5)$this->load->database(‘options‘,true/false);

这个函数的作用是载入数据库类。这两个参数都是可选的。请查看 数据库 段落以获取更多信息。


 (6)$this->load->view(‘filename‘,$data,true/false);

这个函数是用来加载你的视图文件

第一个参数是必须的。 指定你要载入的视图文件的名称。 注意: 无需加上 .php 扩展名,除非你使用了其他的扩展名。

第二个参数 optional 允许你传入数组或对象, 传入的数组或对象将使用 php extract 函数导出,你可以在视图中任意使用这些导出的变量。

第三个参数是可选的,作用是改变函数的运行方式,将数据以字符串的形式返回,而不是发送给浏览器。当你希望用不同的方式处理数据时,这个参数就非常有用。如果你将这个参数设置为true (布尔型),函数就会返回数据。这个参数的默认值是 false, 也就是数据将会被发送给浏览器。如果你希望数据被返回,记得要将它赋值给一个变量:

$string = $this->load->view(‘myfile‘, ‘‘, true);

(7)$this->load->database(‘model_name‘);

这个函数是用来载入你的模型文件



 

7、URL辅助函数

redirect()函数:

通过发送HTTP头,命令客户端转向到您指定的URL。您既可以指定一个完整的URL,也可以对于站内内容,指定基于网站根目录的相对URL。本函数会自动根据您的配置文件,构造出完整的URL。

你可以设定第二个参数为 location 定位操作(默认)或者 refresh 刷新操作。定位操作比刷新操作执行速度快,但是在Windows服务器上有时会报错。可选的第3个参数允许你发送一个特定的HTTP请求返回码 - 举例来说这可以用来创建303请求重定向来服务于搜索引擎。 默认的请求返回码是302(临时重定向)。第3个参数只使用于‘location‘重定向,而不是用于‘refresh‘。范例:

//注意!!一定不要忘了加载 $this->load->helper(‘url‘);if ($logged_in == FALSE){     redirect(‘/login/form/‘, ‘refresh‘);}// with 301 redirectredirect(‘/article/13‘, ‘location‘, 301);
注意:由于此函数需要处理header头文件,因此它必须在向客户端输出任何内容之前调用。注意:如果您想对HTTP头做更细致的设置,您可以使用输出类的 set_header() 函数。