如何制作可插入的PHP脚本?

时间:2010-03-31 21:13:48

标签: php

我正在使用CodeIgniter MVC框架创建自己的脚本。现在,我希望用户能够轻松修改网站功能并添加自己的功能,而无需修改我已编写的代码。

如何让我的网站可插入?

编辑:用户将是网站管理员。不是最终用户。基本上就像drupal或joomla一样。希望管理员能够创建/添加插件以扩展站点功能。

3 个答案:

答案 0 :(得分:4)

可能有更好的方式特定于CodeIgniter,但这就是我要做的:

首先,在代码中为各种“钩点”创建函数。比如,在显示文章之前,在代码中调用的名为PreArticle的函数。

允许用户编写如下代码:

    addHook_PreArticle('funcToCall');

    function funcToCall( &$articleText ) {
       $articleText = str_replace('Hello', 'World', $articleText);
    }

addHook_PreArticle是您定义的函数,它会将传递的字符串添加到某个内部列表中。然后,当调用PreArticle函数时,执行每个函数,传入您定义的任何适当参数。

答案 1 :(得分:0)

许多CMS像Joomla和像Wordpress这样的博客使用变量函数名称:

$function="phpinfo";
$function();

您可以将其加载到数组中以创建可以覆盖的函数列表。

答案 2 :(得分:0)

这是使用观察者模式的完美案例。 http://devzone.zend.com/article/5