BEAR.Packageをセットアップしてみた感想の共有

95 views
Skip to first unread message

remore

unread,
Nov 16, 2012, 7:07:48 AM11/16/12
to bear-p...@googlegroups.com
@remoreことさわだです。
#phpmatsuriではお世話になりました。

主に郡山さん宛ての共有です。
BEAR.Packageをセットアップしてみてつまづいたところなどを共有します。

細かい事だったり、利用者の想定レベルがある程度高ければ無視できる内容が多いです。
既出の内容出してたらすみません。

==========
■利用環境
==========
vagrant経由で、下記サイトで取得できる最小構成のCentOSの仮想OSを起動して環境を構築
http://www.vagrantbox.es/

==========
■インストール手順
==========
下記ページの記述にそのまま従った。(githubの公式ページ感に促されるようにしてこのページを読み込んだ)
https://github.com/koriym/BEAR.Package

==========
■どうだったか(インストール体験記)
==========
・composer.phar install の段階で、svnがインストールされてなくて躓いた
  ----------------
  [RuntimeException]
  Package could not be downloaded, sh: svn: command not found
  ----------------
  ⇒エラー文読めばわかる。svnをインストールして解決

・scripts/check_env.phpを叩くと、mysqldをインストールしてなくて躓いた
 ----------------
 OK PHP:5.4.8
 OK APC:3.1.13
 OK apc.enable_cli
could not find driverDB connect(root/)
 OK Vendor install
(option) xhprof: ()
(info) variables_order: GPCS
(info) php.ini: GPCS
 ----------------
 ⇒"could not find driverDB connect(root/)
   "これはエラー文読んでもわからなかった。
   check_env.phpのソースを読んで、30行目(下記PDOのインスタンス生成時)で落ちてることを確認して解決。
       $pdo = new \PDO("mysql:host=localhost; dbname=blogbeartest", $id, $password);

・"buil-in web server for development"のあたりは何を持ってOKと考えれば良いかわからず躓いた
 ※ちなみに、このREADME.mdでtypo:buil-in⇒built-in
----------------
cd apps/Sandbox/public
php -S localhost:8088 web.php
php -S localhost:8089 api.php
----------------
 ※あと、初心者的な事を告白すると、
  5.4のビルトインウェブサーバを使うのは今回が初めてだったので、
  ホストマシンのブラウザからゲストOS内のサーバにアクセスするために
   php -S 0.0.0.0
  を指定する必要があると気付かず少し躓きました。

==========
■後から気づいたこと、考えたこと
==========
・初めから
 http://code.google.com/p/bearsunday/wiki/install?wl=ja
 ここのinstructionを読めばもっと分かりやすかった。
 ⇒案)
  BEAR.PackageのREADME.mdの文頭に(Japanese installation document is also available)などのように
  日本語用のリンクがあると便利かもしれない
 
・scripts/check_env.phpのDBチェック
 ⇒mysqld以外のDBを使いたい人もいそう
  ⇒Sandboxという位置づけのBEAR.Packageリポジトリでは、
   scripts/check_env.phpでmysqlドライバが使われてるのは自然だと思った
  ⇒本家BEAR.Sundayのscripts/check_env.phpでもmysqlドライバが指定されてるが、
   一方でREADME.mdではmysqlが動作環境として指定されてない
 ⇒案0)
   今は無視していい。(check_env.phpがfailする原因は自分で調べられる人をユーザとして想定する)
  案1)
   何が起こったか分かりやすいようにエラーメッセージによる説明を追加する
   33行目:
     $isDbConnectionOk = $e->getMessage();
      ↓
     echo "failed to instantiate PDO with the DSN parameter 'mysql:host=localhost; dbname=blogbeartest'"
     $isDbConnectionOk = $e->getMessage();
  案2)
   BEAR.Sundayリポジトリのcheck_env.phpではPDOのインスタンスを生成しない(DBをチェックしない)
  案3)
   README.mdにmysqlの利用を想定してることを書く

==========

取り急ぎ以上です。
この後チュートリアルなど読み進めてみて、また何かあれば感想をお送りします。

※このML以外の場所にお送りした方がよければ教えてください。

※pull request⇒rejectのコミュニケーションの方が郡山さんの都合が良ければ/早ければ今後そうします

koriym

unread,
Nov 16, 2012, 8:13:42 AM11/16/12
to bear-p...@googlegroups.com
さわださん

BEAR.Packageインストールの様子を教えてくれてありがとうございます。
このMLで結構です。今までもブログ記事でかいてもらったことはあるのですが、こうやって中央のMLでやりとりできると閲覧もやりとりもスムースだと思います。

指摘してもらったことで、2つの点で問題があるのが分かりました。

一つはインストールの説明が分散してることです。wikiからもREADMEを参照するようにとあるのでどちらかにしないといけません。理想はREADMEでごく簡単に、というものだと思うのですが今みたいに前提条件やトラブルシューティングが必要だとwikiで一本化しようと思います。

もう一つはBEAR.Packageの説明が不足してることです。Packageはアプリケーションとフレームワークの中間に存在するもので主にライブラリの選定とその設定のための抽象レイヤーです。BEAR.Packageは以下のものを採用してます。

  • Doctrine DBAL (MySql)
  • Smarty3
  • Zend\Log
  • Symfony HttpFoundation\Response
  • Pagerfanta
  • Aura\Siganl

これをデフォルトとしないで、例えばアプリケーションアーキテクトがコンポーネントをDoctrine ORM / Twig / Monolog ... 等と選定した「BEAR.MyPackage」の利用ができる。というものです。

確かに現在全てのレベルの方を対象にしたインストール方法やマニュアルを用意する段階ではないのですが指摘してもらった点はほとんど(なんらかに)反映できることです。指摘ありがとうございます。早速改善にかかります。

現在、リチャードさんに英訳をしてもらってます。もしできましたら、チュートリアル以外のセクションもさらっとご覧になって頂いて大雑把にでも方向性や量、レベルなど感想いただけたら大変助かります。

投稿ありがとうございました。
これからも、よろしくお願いします。

2012年11月16日金曜日 21時07分48秒 UTC+9 remore:

remore

unread,
Nov 16, 2012, 9:35:00 AM11/16/12
to bear-p...@googlegroups.com
BEAR.Packageについてすっかり誤解していました。

福岡でご説明頂いていたはずなのに、どこで勘違いをしたのだろうかと振り返ってみると、
BEAR.SundayのREADME.mdの下記記述だったように思います。

https://github.com/koriym/BEAR.Sunday

"BEAR.Package is a simple sandbox application using BEAR.Sunday."

丁寧に解説して頂いて、大変よく分かりました。ありがとうございます。

僕のBEAR.Sundayの理解はまだ始まったばかりなので、これからの作業を楽しみにしているところです。
よろしくお願いいたします。

koriym

unread,
Nov 16, 2012, 11:19:39 AM11/16/12
to bear-p...@googlegroups.com
さわださん

理解してもらえて良かったです。

SundayとPackageはまだちょっと時期が早かったかなとも思ってまだfixできてないとこでもあります。
インストールも前に久保さんに指摘してもらったcomposerのcreate-projcetの方が良いかとも思いその部分のマニュアル編集はちょっと先送りしようと思います。必要条件にsvn/gitは加えました。

1.0.0beata1に必要なものについて近々discussionしようと思います。もし良かったら参加ください。>>さわださん&各位

2012年11月16日金曜日 23時35分00秒 UTC+9 remore:
Reply all
Reply to author
Forward
0 new messages