1

我正在开发一个插件,并试图找到为其设置一组默认配置选项的最佳方法,这些选项在加载插件时自动使用,但也能够为特定应用程序自定义它们。

我正在努力为 Cake 2.0+ 找到任何关于此的好的文档

大多数解决方案似乎都涉及在主应用程序引导程序中配置某些内容或在主应用程序中创建配置文件,这似乎是个坏主意,因为如果您忘记做任何这些事情或没有正确地做这些事情,插件不起作用,它依赖于“外部”应用程序,这似乎不正确。

同时,让用户在插件中编辑某种配置文件似乎也是一个坏主意,因为他们会篡改插件本身。

最好的方法是什么(或者每个人通常都做什么)?

4

2 回答 2

2

看看这个

http://api.cakephp.org/2.4/class-Configure.html

我试图弄清楚同样的事情,然后我在 Twitter 插件中看到了它。他们在插件文件夹中有自己的配置文件

您需要在文件中放置一个 $config 变量。它什么也没做,但如果你不这样做,Cake 会抱怨。

此设置适用于我目前正在开发的插件。

例子:

/Plugin/CakeCommerce/config/config.php

$config = '';
Configure::write('CC.default_email' , array('admin@server.com'=>'Server Admin'));

加载配置文件。在插件 AppController 中的 __construct 调用中执行此操作。

class CakeCommerceAppController extends AppController {
    public function __construct($request = null, $response = null)
    {
        parent::__construct($request, $response);
        Configure::load('CakeCommerce.config' , 'default' , false); 
    }

}
于 2013-08-28T08:43:43.757 回答
0

你应该做的是将你的配置设置放在插件引导文件中Plugins/PluginDirectory/Config/bootstrap.php

然后在加载插件时,用户可以选择是否使用插件的引导文件(参见CookBook)。虽然这似乎是全部或全部,但您确实具有始终可以使用默认配置设置的优势,因此用户不必自己创建任何配置设置。


在面包店找到了一篇插件开发文章,发现了这个注释:

注意:请注意配置设置,因为插件配置文件将覆盖匹配的应用程序设置,最好使用插件前缀命名设置

这对我来说表明您不能从应用程序的引导文件中覆盖单个插件设置。用户将不得不修改插件的引导文件。

(这篇文章很旧,似乎是针对旧版本的蛋糕,所以我不知道最近的版本是否发生了变化。像你一样,我很难找到关于这个主题的很多信息)

于 2012-11-28T15:54:06.597 回答