BEAR.Sunday 0.6.0をリリースしました。
インストールが簡単に
$ curl -s https://getcomposer.org/installer | php
$ php composer.phar create-project -s dev --dev bear/package bear
従来git cloneした後にcomposer installしてたインストールをcomposer.phar create-projectに対応してインストールをより簡単にしました。これで”./bear”フォルダにBEAR.Packageがインストールされます。-s dev –devと似たようなオプションが並びますが前の”dev”はstability、後者の”dev”はcomposer.jsonで指定する”require-dev”パッケージ依存をインストールするという意味です。composer scriptにも対応し、インストール後にディレクトリの書き込み権限も設定します。
フレームワークの拡張を明確に
DIP(依存関係逆転)原則に忠実なBEAR.Sundayではフレームワーク機能の拡張性や変更に関して最大限の自由がありますが、それらを機能単位で明確にするためにExtentionインターフェイス/フォルダという仕組みを導入しました。
BEAR.SundayのExtensionフォルダ下にはフレームワークが提供する機能のインターフェイスが格納されています。
このインターフェイスを実装したものがBEAR.PackageのProvideフォルダです。
対応するProvideフォルダのクラスではExtensionで指定されたインターフェイスの実装をします。この実装を利用するためには用意されているモジュールをインストールします。
例えば現在TemplateEngineに用意されているのはデフォルトでSmartyですがAppModule.phpでTwigModuleをインストールしてTwigを利用する事ができます。1
PSR compliance
これまでもPSR0/1/2の対応は行って来ましたが、PSR3のログインターフェイスに合わせてインターフェイスsuffixの議論があってそれに習いこれまでの「単数のメソッドのインターフェイスは–able系で複数のメソッドのものは”Interface” suffixにする」をすべて”Interface” suffixに変更しました。
これは初期のzf2のコード規約に習ったものだったのですが、zf2自身も方針を変更しています。またTraitも原則”Trait” suffixにし、パッケージのベースの例外インターフェイスも
1
|
|
から1
interface ExceptionInterface
例外は”Inject”suffixのついたインジェクト用のセッターメソッドTraitで、これは従来通り”Inject”suffixを使用します。
1.0に向けて
今回の変更は大掛かりなBCブレイクを伴う最期の変更にしたいと思っています。調整を経て1.0に繋げれる予定です。
Meetup #1
2/16にBEAR.Sundayのmeetup #1を予定しています。これは現在マニュアルの英訳をしてもらってるリチャードさん@mackstarの来日に合わせて行うものです。
BEAR.Sunday meetup #1
http://www.zusaar.com/event/505010
今回も技術的にエキサイティングで楽しいものになればと思っています。
BEAR.Sunday meetup#1でお会いしましょう!
–
- このTwigモジュール実装はまだ実験的なものです。 [↩]