模型插件

在数据模型中提供了插件机制来扩展数据的处理。需要注意的是:

1、插件是针对模型实现的,一个模型可以有多个插件,但一个插件只能在一个模型中使用。

2、在插件这里所提到的模型类名为数据模型的类命名。如,数据模型guestbook,前台的完整类名为 model_guestbook,后台模型的完整类名为 model_admin_guestbook

模型的插件存储在目录:

./apps/应用名称/plugin/模型类名/

每个模型的插件目录里有一个配置文件,其中配置了所有的插件名称和插件中实现的方法。

配置文件路径为:

./apps/应用名称/plugin/模型类名/config.php

配置文件格式说明:

return array(
            '
插件名称1'=>array('方法1', '方法2', '方法N'),
            '
插件名称2'=>array('方法1', '方法2', '方法N'),
);

插件文件命名:

./apps/应用名称/plugin/模型类名/插件名称.php

插件的定义:

class plugin_插件名称 extends object
{
            private $model;
 
            public function __construct(& $model)
            {
                        $this->model= $model;
            }
            /**
定义N个方法 **/
}

一个插件独立来讲只是一个普通的PHP类文件,但他接收了来自模型的数据传递,从而实现了对模型数据处理的扩展。

其中 $model接收了自来模型的传递,$model是模型对象的引用,在插件的方法中操作$model就等于操作了模型中的数据。

执行说明:

如果在模型中执行了一个插件方法,系统将扫描该模型的插件配置,将所有实现该方法的插件都执行一次。
根据这个规则,给一个模型创建多个插件,在模型中一次调用,即可以达成多个目的。

相关主题
模型中调用插件


Copyright ©2009 - 2014 CmsTop.Com.All rights reserved.
思拓合众