BEAR.Sundayをインストールする

最新のリソース指向フレームワークであるBEAR.Sundayをインストールします。

BEAR.Sunday is a resource orientated framework with a REST centered architecture, implementing Dependency Injection and Aspect Orientated Programming' at its core. -- http://bearsunday.github.io/

Composerによるインストール

通常、以下のようにインストールします。PHP 5.4以上が必要です。

$ composer create-project bear/package ./bear

しかし、運悪く?依存しているSmartyパッケージのリポジトリがなくなったようでエラーが出て正常にインストールできません。そこで、修正済みの開発版のdevelopブランチをインストールします。

(2014-05-28 追記) バージョン0.11.0がリリースされ、Smartyパッケージの問題は解消しています。https://github.com/koriym/BEAR.Sunday/issues/45参照。

$ composer create-project bear/package ./bear dev-develop

デモアプリのWebサーバの起動

PHP 5.4のビルトインWebサーバを使い、デモアプリであるDemo.Sandboxを起動します。

$ cd bear
$ bin/bear.server apps/Demo.Sandbox

Demo.Sandboxを見る

http://localhost:8080/にブラウザでアクセスします。

▼http://localhost:8080/ VersionやPackageそして、デモアプリへのリンクがあります。

▼Hello World Hello Worldです。

▼codeのアイコン

上記のcodeのアイコンをクリックすると、Hello Worldのコードが表示されます。

▼Hello Worldのコード

▼Blog tutorial ブログのチュートリアル。

▼BEAR.Demo さまさまなデモが用意されています。

▼RESTbucks RESTfulなコーヒーショップだそうです。

Nagoya.php vol.5

2014-05-31(土)に開催されるNagoya.php vol.5は、このBEAR.Sundayを触ってみようという内容です。

興味のある方は、ご参加ください。

関連

Tags: php, bear

ユニットテストのユニットについて誤解していた

私は今まで、ユニットテストの「ユニット」というのはOOPではクラスのことだと思っていたのですが、どうやらそれは誤解だったようです。

Martin Fowler氏の記事「Martin Fowler's Bliki in Japanese - ユニットテスト原文)」によれば、

ソフトウェア開発用語の常として、ユニットテスティングという用語もきちんと定義できていない。

何を「ユニット」と見なすのかは、チームがそのシステムやテストをどのように理解しているのかに応じて決めるものだ。 私は、とりあえずひとつのクラスを「ユニット」として始めたいと思っているが、関連するクラス群を一括で「ユニット」と扱うこともよくある。 逆に、ひとつのクラスの中の一部のメソッドだけを「ユニット」とすることは、めったにない。

とのことでした。

ちなみに、この記事は、以下のような用語も定義されており、テストの作成に関して非常に参考になります。

  • 古典主義者とモック主義者
  • コンパイルスイートとコミットスイート

関連

Tags: testing

MAMPでハンズオンをするとき忘れずにすること

どうもこの設定を忘れてしまい、PHPUnitを実行すると何も表示されず、無駄に時間を使ってしまうので、忘れないようにメモしておきます。

エラーを表示するように変更する

php.iniの場所を調べます。

$ php -i | grep php.ini
Configuration File (php.ini) Path => /Applications/MAMP/bin/php/php5.5.10/conf
Loaded Configuration File => /Applications/MAMP/bin/php/php5.5.10/conf/php.ini

php.iniを編集し、エラーを表示するようにします。

--- php.ini.orig    2014-04-11 00:50:06.000000000 +0900
+++ php.ini 2014-05-19 11:10:17.000000000 +0900
@@ -274,12 +274,12 @@
 ; instead (see below).  Keeping display_errors enabled on a production web site
 ; may reveal security information to end users, such as file paths on your Web
 ; server, your database schema or other information.
-display_errors = Off
+display_errors = On

 ; Even when display_errors is on, errors that occur during PHP's startup
 ; sequence are not displayed.  It's strongly recommended to keep
 ; display_startup_errors off, except for when debugging.
-display_startup_errors = Off
+display_startup_errors = On

 ; Log errors into a log file (server-specific log, stderr, or error_log (below))
 ; As stated above, you're strongly advised to use error logging in place of

PHP.Skeletonのインストール

まあ、これは必須というわけではありませんが。

$ composer create-project php/skeleton VendorName.PackageName
$ cd VendorName.PackageName
$ composer dump-autoload

PHPUnitもインストールするなら。

$ composer require "phpunit/phpunit=3.7.*" --dev
$ bin/phpunit

そして、必要に応じてLicence.txtを変更します。

関連

Tags: php, mac, mamp