zoukankan      html  css  js  c++  java
  • 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 - 表示周里的某天
    其他字符,比如 "/", "." 或 "-" 也可被插入字符中,以增加其他格式。
    下面的例子用三种不同方法格式今天的日期:
    <?php
    echo "今天是 " . 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)
    下面的例子以指定的格式输出当前时间:
    <?php
    echo "现在时间是 " . 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 = $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 redirect
    redirect('/article/13', 'location', 301);
    注意:由于此函数需要处理header头文件,因此它必须在向客户端输出任何内容之前调用。
    注意:如果您想对HTTP头做更细致的设置,您可以使用输出类的 set_header() 函数。


     

  • 相关阅读:
    Educational Codeforces Round 85 D. Minimum Euler Cycle(模拟/数学/图)
    Educational Codeforces Round 85 C. Circle of Monsters(贪心)
    NOIP 2017 提高组 DAY1 T1小凯的疑惑(二元一次不定方程)
    Educational Codeforces Round 85 B. Middle Class(排序/贪心/水题)
    Educational Codeforces Round 85 A. Level Statistics(水题)
    IOS中的三大事件
    用Quartz 2D画小黄人
    strong、weak、copy、assign 在命名属性时候怎么用
    用代码生成UINavigationController 与UITabBarController相结合的简单QQ框架(部分)
    Attempting to badge the application icon but haven't received permission from the user to badge the application错误解决办法
  • 原文地址:https://www.cnblogs.com/xymqx/p/3923243.html
Copyright © 2011-2022 走看看