作成中のアプリケーションを Piece_Unity 0.11.0 の新機能であり、次の次のバージョン (1.0.0?) でデフォルトになるという ConfiguratorChain を使うように変更してみたので、そのときのメモです。
piece-unity-config.yaml にて
まずはコンフィギュレータを ConfiguratorChain に変更。
- name: Root point: - name: configurator type: extension value: ConfiguratorChain
そして KenelConfigurator の設定を削除し、Configurator_Plugin とConfigurator_Validation の設定を追加。
KenelConfigurator の設定ポイント validationConfigDirectory および validationCacheDirectory は、Configurator_Validation ではそれぞれ configDirectory, cacheDirectory に名前が変わっているので注意。
- name: Configurator_Plugin point: - name: pluginDirectories type: configuration value: - /local/plugin/dir - /remote/plugin/dir - name: Configurator_Validation point: - name: configDirectory type: configuration value: ../webapp/config/validations - name: cacheDirectory type: configuration value: ../webapp/cache/validations
エントリポイントにて
Dispatcher_Simple を使うエントリポイントで eventName を設定していたので拡張ポイント名を KernelConfigurator から Configurator_Event に。
$eventName = 'SomeEvent'; $config = &new Piece_Unity_Config(); -$config->setConfiguration('KernelConfigurator', 'eventName', $eventName); +$config->setConfiguration('Configurator_Event', 'eventName', $eventName); $config->setExtension('Controller', 'dispatcher', 'Dispatcher_Simple');
アクションクラスにて
Dispatcher_Simple で Piece_Right を使う場合は、piece-unity-config.yaml の変更に合わせて以下のように変更。
これを忘れていてハマったのは内緒。
$right = &new Piece_Right( - $config->getConfiguration('KernelConfigurator', 'validationConfigDirectory'), - $config->getConfiguration('KernelConfigurator', 'validationCacheDirectory'), + $config->getConfiguration('Configurator_Validation', 'configDirectory'), + $config->getConfiguration('Configurator_Validation', 'cacheDirectory'), array(&$this, 'getFieldValueFromContext') );