CakePHP3 ComponentとHelperにもControllerと同様のPrefix機能を作成するPlugin
CakePHP3 ComponentとHelperにもControllerと同様のPrefix機能を作成するPluginを作成したのでメモ
CakePHP3ではPrefixをつけると、Controllerをディレクトリごとに分けて設置することができます。
自分はよく、管理画面・公開画面をPrefixで分けて作成します。
Controllerはディレクトリに分けることでスッキリするので、 Model、Component、Helperも同様に分けたい思いPluginを作成しました。
GitHub - Junkins/PrefixRegistry
機能 Componentの階層化
機能 Helperの階層化
実装してない機能 Modelは階層化すると色々と不都合がでたので、ペンディング
Setup・使い方
Components
<?php namespace App\Controller\Admin; use Cake\Controller\Controller; use PrefixRegistry\Controller\PrefixComponentRegistry; class AppController extends Controller { /** * initialize */ public function initialize() { parent::initialize(); // you can use Components definded on // '/src/Controller/Component/Admin/*' OR '/src/Controller/Component/*'. $this->_components = new PrefixComponentRegistry($this); } }
Helpers
<?php namespace App\View\Admin; use Cake\View\View; use PrefixRegistry\View\PrefixHelperRegistry; class AdminView extends View { public function initialize() { parent::initialize(); // you can use Helpers definded on // '/src/View/Helper/Admin/*' OR '/src/View/Helper/*'. $this->_helpers = new PrefixHelperRegistry($this); } }