BEAR.Sunday Quick Tour
簡単にBEAR.Sundayを体験できるチュートリアルを用意しました。それぞれのセクションの目安の時間も記してみました。良かったら手を動かしてお付き合いください。
準備
PHP 5.4がインストールされていればOKです。
$ php -v
PHP 5.4.11 (cli) (built: Jan 27 2013 22:00:35)
Copyright (c) 1997-2013 The PHP Group
もしPHP5.4がインストールされてなくてもOSXならこれだけでインストールできます。1
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4
BEAR.Sundayのインストール
5-? min
コンソールでインストールします。
curl -s http://install.bear-project.net/ | sh -s ./bear
または(curlが無い場合など)
$ php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
$ php composer.phar create-project -s dev --dev bear/package ./bear
アプリケーションの作成
1 min
Helloアプリケーションを作成します。
$ cd bear
$ php bin/new_app.php Hello
コンソールでのアプリケーション実行
3 min
web.phpを使いconsoleでHTMLの出力が確認できます。GETメソッドで/(ルート)をアクセスするには以下のようにタイプします。
$ cd apps/Hello/public
$ php web.php get /
三番目の引き数でアプリケーションの実行コンテキスト(モード)を切り替える事ができます。
プロダクション
php web.php get / prod
API
php web.php get / api
利用できないメソッドには405(Method Not Allowed)が返って来ます。
php web.php delete /
404も試してみましょう。
Webでのアプリケーション実行 (5 min)
同じweb.phpを使ってBuilt-in Web serverを立ち上げます。ポート番号は自由です。
php -S localhost:8088 web.php
挨拶が表示されました。devモードではツールバーと共に表示されます。
この挨拶にはpage://self/indexという名前(URI)がついています。このURIのついた情報は「リソース」と呼ばれます。
灰色のバックグランドで表示されてるのはこのリソースはキャッシュを利用しないことを表します2 URIの隣にツールバーが並び、情報の確認やコードの編集ができるようになっています。破線はそのリソースの表示範囲を表します。
オンライン編集
リソースのコードとビューテンプレートはwebブラウザ上で編集することができます。
保存にはショートカットキーも使えます。(⌘W / Ctl+W)
シンタックスエラー
2 min
ClassのCを誤って消してしまいました。シンタックスエラーになりますがエラーある状態でアプリケーションを実行するとエラーメッセージの表示されたエディターが表示されます。
その場で修正して、「保存」「再読み込み」ですぐに復帰します。ケアレスミスによる思考の中断を最小限にします。
クエリーを読む
5 min
HTTPのGETメソッドではonGetメソッドがアクセスされます。
このメソッドは
$_GET
と同様に機能します。$_GET[‘name’]を$nameとして受け取っています。
?name=YourName
としてアクセスしてみたり、以下のようにyearクエリーも受け取ってみましょう
メソッドは$_GETクエリーと同じく名前で指定されるので(名前付き引き数=named parameter)通常のPHPの引き数のように引き数の順番では変数名で指定されます。(順番は関係ありません)$_GETのクエリーは取得するのではなく、PHPのメソッドと融合して与えられている事にも注目してください。
テンプレート
1 min
リソースクラスファイルの拡張子をtplあるいはtwigに変えたものがそのリソースの表現に用いられるビューテンプレートになります。
/dev/ツール
3 min
URLに/dev/と入力するとデバックツールが表示されます
リソース一覧
/dev/resource/ ではリソースを一覧したり新規のリソースをつくることができます。
つくったばかりのHelloアプリケーションはpage://self/indexというページリソースが1つ。利用可能なメソッドはGETだけという事が分かります。リソース(モデル)は、アプリケーションの核心です。アプリケーション管理者はそのアプリケーションにいくつ、どんなリソースがあるかをこのリソース画面で知る事ができます。
What’s next ?
1 week
Web+DB Press記事のリソースを作ってみるのはどうでしょうか。“はじめて”シリーズはソフトウエアやインターネット技術の概念を同時に学ぶ事ができます。ブログチュートリアルは既存のFWとの実装の比較になります。apps/SandboxアプリケーションはDB/ページングなど実用的なサンプルも含みます。特にRESTに興味のある方は定番となってるREST BucksをBEAR.Sundayで実装したHATEOAS実装もあります。