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 文件里面定义好各个标签要执行的方法,其他的事情系统会自动处理。


相关阅读[ ]