ThinkPHP-扩展指南-应用扩展
来自站长百科
导航:返回上一页
应用扩展是指不改变现有底层框架的基础上,对App类进行额外的功能扩展,系统使用了标签扩展的方式。要启用应用扩展支持,必须在项目配置文件里面开启APP_PLUGIN_ON配置参数。
'APP_PLUGIN_ON'=>true,
一旦开启后,系统就会检查下面的标签:
- app_begin :应用开始标签
- app_init :应用初始化标签
- app_run :应用执行标签
- app_end :应用结束标签
以上是系统的App应用类内置的一些标签位置,在每个定义的标签位置,都会执行一个tag方法来调用该标签位置需要执行的方法,例如:
我们可以看到,标签的执行只是一个很简单的代码,例如:
// 执行应用初始化标签
tag('app_init');
系统执行到这里的时候,会自动检查标签所对应要执行的方法,并且依次执行。标签对应的执行方法是通过标签配置定义文件,在项目的配置目录下面增加tags.php 文件,写入:
PHP代码
return array( // 定义项目初始化标签要执行的方法 'app_init'=>array( 'function1','function2',array('class1','method1')... ), ...// 其他的标签 );
如果某个标签位置需要传入额外的参数,可以使用 tag('app_init',$data);会自动传入要执行的方法,注意参数必须一致才能准确调用。
应用标签扩展的方式,其实可以延伸到项目中,我们可以在项目的某些位置手动插入标签位,然后定义外部的标签扩展来执行。根据这样的一个原理,标签扩展可以随意定制。你需要做的仅仅是在需要执行的位置 加上 tag('标签名称'[,'可选参数'…]) 即可,然后在tags.php 文件里面定义好各个标签要执行的方法,其他的事情系统会自动处理。