1

私はプラグインを開発しており、プラグインのロード時に自動的に使用されるデフォルトの構成オプションのセットを用意するための最良の方法を見つけようとしていますが、特定のアプリ用にそれらをカスタマイズすることもできます。

Cake2.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 に答える