首页 > php教程 > PHP开发 > 正文

CodeIgniter学习笔记 Item8--CI辅助函数

黄舟
发布: 2016-12-29 10:31:53
原创
1228 人浏览过

辅助函数是帮助我们完成特定任务的函数。每个辅助函数文件仅仅是一些函数的集合。例如,URL Helpers 可以帮助我们创建链接,Form Helpers 可以帮助我们创建表单,Text Helpers 提供一系列的格式化输出方式,Cookie Helpers 能帮助我们设置和读取COOKIE, File Helpers 能帮助我们处理文件,等等。跟其他部分不同的是,辅助函数不是用类的方式来实现的。它们仅仅是一些简单的过程处理函数。 每个辅助函数处理一个特定的任务,并且不必依靠其他函数。

CodeIgniter默认是没有载入辅助函数文件的,所以如果你想用辅助函数,就必须先载入它。一旦被载入,辅助函数将全局可用。辅助函数文件一般保存在system/helpers
或 application/helpers 文件夹中。CodeIgniter 将会先在application/helpers
寻找对应的辅助函数文件, 如果目录不存在或者目录下没有对应的辅助函数文件,CI 才会载入 system/helpers 下的辅助函数文件。

载入辅助函数是非常简单的:

[code]$this->load->helper('name');
登录后复制

name 是辅助函数文件的名字(不带.php后缀 和”helper” 部分)。

例如,要载入文件名为url_helper.php
的URL Helper,你将会用到下面的语句:

[code]$this->load->helper('url');
登录后复制

一旦你载入了想要用到辅助函数文件,你就可以用标准的函数调用方法来使用里面的函数。

例如,要使用anchor() 函数来建立一个链接,在视图(View)文件里面你可以这样做:

[code]<?php echo anchor(&#39;blog/comments&#39;, &#39;Click Here&#39;);?>
登录后复制

“Click Here” 是链接的名字,”blog/comments” 是链接的URI。

如果想”扩展”一个原有的Helpers,可以在你的application/helpers/目录下创建一个新的helper,新的helper的名字是在被“扩展”的Helper的名字开头多加一个MY_,这里的前缀是可以配置的,为了设置你自定义的前缀,请打开application/config/config.php
文件,然后找到如下的条目:

[code]$config[&#39;subclass_prefix&#39;] = &#39;MY_&#39;;
登录后复制

如果你想做的只是在原有的helper中添加一些新的功能,比如,添加一两个新的方法,或者是修改一个方法;就不值得重写自己的helper。在这种情况下,最好是“扩展”已有的helper。“扩展”一词用在这里不是很恰当,因为Helper的方法是过程式的(procedural)和离散(discrete)的,在传统的语言环境中无法被“扩展”,不过在CodeIgniter中,你可以添加或修改helper的方法。

例如,扩展一个本地已有的Array Helper你应该建立一个文件:application/helpers/MY_array_helper.php
,并添加或重写(override)其中的一些方法:

[code]// any_in_array() is not in the Array Helper, so it defines a new function
function any_in_array($needle, $haystack)
{
    $needle = (is_array($needle)) ? $needle : array($needle);
    foreach ($needle as $item)
    {
        if (in_array($item, $haystack))
        {
            return TRUE;
        }
    }
    return FALSE;
}
// random_element() is included in Array Helper, so it overrides the native function
function random_element($array)
{
    shuffle($array);
    return array_pop($array);
}
登录后复制

 以上就是CodeIgniter学习笔记 Item8--CI辅助函数的内容,更多相关内容请关注PHP中文网(www.php.cn)!


来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板