BaserTestCaseで特定プラグインの有無でfixturesを振り分ける
baserCMSのTestCaseで、特定のプラグインの有無を調べて、fixturesの読み込みを振り分ける。
つまり、プラグインHogeが有る場合と、無い場合で、読み込むfixturesを切り替える方法。というわけです。
ちなみにbaserCMSと書いてるけど、cakephpでも同じだと思います。
public function __construct(){ $fixtures = array( 'plugin.fuga.Default/Model1', 'plugin.fuga.Default/Model2', ); $Plugin = ClassRegistry::init('Plugin'); $lists = $Plugin->find('list'); foreach($lists as $list){ if($list == 'Hoge') $fixtures[] = 'plugin.hoge.Default/Model3'; } $this->fixtures = $fixtures; }
1,コンストラクタの中にfixturesを書く
2,入ってるプラグインのリストを取得
3,この場合はプラグインHogeが入っていたらfixturesを追加してる
コンストラクタの中にfixturesを書くので、
public $fixtures = array()
これは定義するだけにした。
public $fixtures;
こんな感じ。
いろんな書き方をしてきて、これが一番しっくりきたので、ブログにしてみた。
前の記事: kusanagi で letsencryptが更新されない
次の記事: [cakephp4] dirtyとoriginal
2019/05/27 | 開発記録
コメント/トラックバック
トラックバック用URL:
この投稿のコメント・トラックバックRSS