- リリースのお知らせ:http://basercms.net/news/archives/165
- リリースノート:http://basercms.net/release/2_0_3
- アップデート方法:http://basercms.net/howtoupdate/2_0_3
中身を見てみると、たくさんの改善が入ってて更に baser が良くなってってる事がわかりますん!
「プラグイン開発における仕様変更」・・・(・-・ )
「プラグイン開発における仕様変更」・・・( ̄□ ̄;)!!
「プラグイン開発における仕様変更」・・・∑( ̄[] ̄;)!ホエー!!
。。。というワケで、実際の変更作業がどんな風になるのかやってみたのでその記録。
プラグイン開発における仕様変更の内容確認
以下が仕様変更の中身。互換性を考慮して対応してあるので、しばらくは大丈夫そうですね。「優しさ溢れるCMS」の所以はこの辺かっ!?とかひとりささやいてみる今日この頃。
- コントローラーは BaserPluginAppController を継承して作成する事となりました。(互換性の為、以前の作成方法もしばらくサポートされます)
- BaserPluginAppControllerを継承した場合、Pluginモデルの定義は必須でなくなります。
- モデルは BaserPluginAppModel を継承して作成する事となりました。(互換性の為、以前の作成方法もしばらくサポートされます)
- BaserPluginAppModelを継承した場合、$useDbConfigは「plugin」に自動設定されます。
- モデルにおいて、pluginプロパティの設定は必須でなくなりました。
では実際に、公開中の「fb_likebox プラグイン」をもとに、上記変更を適用してみます。
BaserPluginAppController の継承
以前のコードはこちら。変更する内容は以下になりますね。
- 継承元を「BaserPluginAppController」にすること
- Plugin モデルの削除
class FbLikeboxConfigsController extends AppController {
/**
* コントローラー名
*
* @var string
* @access public
*/
var $name = 'FbLikeboxConfigs';
/**
* モデル
*
* @var array
* @access public
*/
var $uses = array('Plugin', 'FbLikebox.FbLikeboxConfig');
それではコントローラに適用!
class FbLikeboxConfigsController extends BaserPluginAppController {
/**
* コントローラー名
*
* @var string
* @access public
*/
var $name = 'FbLikeboxConfigs';
/**
* モデル
*
* @var array
* @access public
*/
var $uses = array('FbLikebox.FbLikeboxConfig');
Pluginモデルの定義は忘れがちなので、定義がなくなったのは嬉しいところです。
BaserPluginAppModel の継承
以前のコードはこちら。変更する内容は以下になりますね。
- 継承元を「BaserPluginAppModel」にすること
- $useDbConfig の削除
class FbLikeboxConfig extends AppModel {
/**
* モデル名
* @var string
* @access public
*/
var $name = 'FbLikeboxConfig';
/**
* プラグイン名
* @var string
* @access public
*/
var $plugin = 'FbLikebox';
/**
* DB設定
* @var string
* @access public
*/
var $useDbConfig = 'plugin';
それではモデルに適用!
class FbLikeboxConfig extends BaserPluginAppModel {
/**
* モデル名
* @var string
* @access public
*/
var $name = 'FbLikeboxConfig';
/**
* プラグイン名
* @var string
* @access public
*/
var $plugin = 'FbLikebox';
$useDbConfig の指定がなくなったので、もし、database.php 内のプラグイン定義が変わった場合にも、特別な対応が不要となりました。
変更内容一覧
どんな風に変わったか一覧を見てみると、以下のようになります。
https://github.com/materializing/fb_likebox/commit/1225fa0e3cf701712effbbdc5aabf3892ced0e68
あとがき
機能追加も嬉しいですけど、こういったところで開発者にとっても優しい仕様が組み込まれて行ってるのが素敵と思いませんか?
嬉しいですね!・∀・
あー・・・プラグインのリリースの仕方とか試行錯誤しながらやってるけど、もうちょい手順・流れを確立させないと。。。