自动加载函数库与扩展函数库定义

1.自动加载函数库

                在开发过程中,我们通常会将常用的函数封装起来,放在函数库中,以便实现代码复用。那么在thinkphp中如何定义加载自定义的函数库呢?
其实很简单,方法如下:

              拿前台项目举例(这里前台项目名为:Index),我们首先需要在"/Index/Common/"目录下,创建一个名为common.php的文件,我们将自定义的函数放在该文件中,代码如下: 

<?php

	function p($array){
		dump($array,1,'<pre>',0);
	}

?>
至此,我们在函数库中就创建了一个名为p的函数了。接下来,就可以在控制器中调用了:

<?php
class IndexAction extends Action {
    public function index(){
		p($_SERVER);
    }
}
       然后在浏览器中,运行Index控制器的index()方法,我们可以看到正确的结果了。

接下来,试一下将刚刚定义的common.php文件重命名为function.php。重新运行,我们发现,程序出错了,错误提示为:”调用未定义方法p()“。也就是说程序找不到p方法了。那么,也就是说,当自定义函数时,必须将函数库名定义为common.php,不能定义为别的名称?其实不然,只是再命名为其他名称时,在加载时需要我们手动配置。

两种配置方法:

 1.1.自动加载

该方法的配置相对复杂,但是其效果与将函数库名称命名为common.php相同,也就是在该函数库中定义的函数,可以在项目的全局使用。
        其配置方法如下:
        修改项目配置文件”Index/Conf/config.php“,在array中修改’load_ext_file‘的值,将其修改为:你的函数库名称。如下:
<?php
return	array(
	'load_ext_file' => 'function',
);
?>
          再次运行项目,p()方法执行正确。

 1.2.临时加载

该方法配置简单,但是其作用域很小。
        配置方法如下:(记得将1.1中的修改恢复)
          在需要引用函数库的地方,调用load方法,如下:
                 
<pre name="code" class="php"><?php
class IndexAction extends Action {
    
    public function index(){
		load('@.function');
		p($_SERVER);
    }
}


 
  
        此时,再运行程序,p()方法执行正确。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值