BEAR Blog

Because everything is a resource.

BEAR.Sunday 0.6.0

| Comments

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フォルダ下にはフレームワークが提供する機能のインターフェイスが格納されています。

スクリーンショット 2013-01-26 22.14.05

このインターフェイスを実装したものがBEAR.PackageのProvideフォルダです。

スクリーンショット 2013-01-26 22.15.58

対応するProvideフォルダのクラスではExtensionで指定されたインターフェイスの実装をします。この実装を利用するためには用意されているモジュールをインストールします。

例えば現在TemplateEngineに用意されているのはデフォルトでSmartyですがAppModule.phpでTwigModuleをインストールしてTwigを利用する事ができます。1

スクリーンショット 2013-01-26 22.21.05

PSR compliance

これまでもPSR0/1/2の対応は行って来ましたが、PSR3のログインターフェイスに合わせてインターフェイスsuffixの議論があってそれに習いこれまでの「単数のメソッドのインターフェイスは–able系で複数のメソッドのものは”Interface” suffixにする」をすべて”Interface” suffixに変更しました。

これは初期のzf2のコード規約に習ったものだったのですが、zf2自身も方針を変更しています。またTraitも原則”Trait” suffixにし、パッケージのベースの例外インターフェイスも

1
interface Exception

から

1
interface ExceptionInterface
に変更しました。これもzf2と同じです。

例外は”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でお会いしましょう!

  1. このTwigモジュール実装はまだ実験的なものです。 []