PHP勉強会 at 大阪に参加しました

昨日PHP勉強会 at 大阪に参加してきました。
アップルストアの2Fを無料で開放してるなんて凄いぞアップル!
買いたくなっちゃうじゃないですか(ってそれが狙いなんでしょうけどね)

場所も心斎橋と中心街だったこともあってか50人以上集まったそうです。
懇親会も30人以上!凄い人数になりました。

主催の方、講演の方本当にありがとうございました。

また是非開催されることを祈りつつ内容のメモ。

id:ku-sukeさん
初心者向けPHPのお話し
PHP研究所じゃないよ。
・色んなとこで使ってるよ。
・開発には色んな方法があるよ。
・サンプルもいっぱいあるから触ってみるといいよ。
・古い情報には気を付けて><

※個人的感想
・開発はやっぱエディタからかなー。でもオラはPDT重いけど楽。重いけど。
・開発用ロリポみたいなのがあると敷居が下がったりしてと妄想
・サンプルはPHPマニュアルのページにあるのが良いと思うんだ。

id:khashiさん
Smartyのお話し
Perl使ってます。
・Kansai Perl Mongerをよろしく。
・表示と中身は分けるとすっきりするよ!
Smartyは日本語情報いっぱい。

※個人的感想
Smarty良いですよねー
・日本語マニュアルあるし、プラグインもいっぱい。
・でもいざエラーが起こると大変><
・エラー箇所がわかりやすいテンプレートってあるのかな?
・となると生PHP
だが断る
Perl Mongerのフレームワーク勉強会行きたかった><。Extの話もあったのに><

ここからLT

id:rskyさん
TextMateのお話し
・ユーロ高い
・すんげー機能豊富
Ruby書けば機能アップ!
・フォントがマニアックなせいで日本語が><
・でも神は居る
・やっぱデモは自分のマシンでやるべき
・実はヘビートーク
Perl,Python,Rubyの話が多いよー。PHPも話しよー。

※個人的感想
・生拡張神様だ!
・いーなーマック×100
・引数まで出してくれるのいーなー。
・静的メソッドは出してくれるんだろうか?
TextMateのエラーメッセージが見れた。

id:takagimasahiroさん
PHPの由来について
・色々変わるPHP
・まぁ何でもいーんじゃね。
Python Hypertext Processorでも・・・

※個人的感想
・生PHPマニュアル様だ!
・名は体を表す

くまっちさん
PEARのお話し
・約400
コマンドラインでインスト簡単
・使うと便利
・使用上の目的を良く考えてご利用下さい
・ゲーム・料理好き

※個人的感想
・料理好きって凄いなー
・レン鯖だとちょっとインストとか大変だと思うんだ
・日本語無視られてる時もあるんだ
・でもなれると便利
・良いソースもあるので勉強になる
・オラはrhacolibs

id:senopoさん
Pleiades All in One Eclipseについて
・日本語ですよ
PHP開発にとっても便利ですよ。
ブレークポイントとか変数チェックとかも出来ますよ
SQLもテストできますよ
・インストするだけでほぼOK

※個人的感想
・使ってます。すげーお世話になってます。
・だが重い(Eclipseの宿命)
ブレークポイントほにゃららは使ってないす(Xdebugで十分なきが・・・)
・ついでにrhacoにはlogがある〜
・ホバーの内容が日本語になると凄まじいと思うんだ。

懇親会はなんと講演されてたid:rskyさん、id:takagimasahiroさん、それとPiece Frameworkのitemanさんと同席し、すんげー濃いー話の時間を過ごさせてもらいました。ハテナがいっぱい出たので勉強しよーっと。まずはSimpleDBとRESTだー。テストもチェックチェック。

逆引きrhaco(?)15: ユニットテストを作りたい

その前にdoctestの解説をしろという話がありますが、今ちょうどやってるので、書いておきます。

ユニットテストをする場合は
1.まずユニットテスト用のフォルダを作ります。rhaco本体にならって_testappとします。
2.rhaco本体の_testapp下のindex.phpとsetup.php、__init__.phpをテスト用フォルダにコピーします。
3.rhaco本体にならって_testapp/setup/testsフォルダを作成します。
4.rhaco本体の_testapp/setup/testsフォルダから作成したtestsフォルダにunittest.phpをコピーします。

以上で最小構成が出来ました。たぶんこんな感じです。

_testapp
  index.php
  setup.php
  __init__.php
  setup
    tests
      unittest.php  

この構成のsetup.phpにアクセスするとrhacoのセットアップ画面が表示されます。
適当に設定して(ログをdeep_debugにすると吉)設定ボタンを押せば設定は完了です。

testと書いてあるリンクを押して下さい。

何も表示されませんが、とりあえずこれで動きました。
次にテストを書いてみます。セットアップの後はこんな感じになってるはずです。

_testapp
  index.php
  setup.php
  __init__.php
  setup
    tests
      unittest.php
  library
  resources
  work (logやキャッシュ設定をしてれば)

rhacoのテストはdoctestがベースなため、テストの呼び出し元を作る必要があります。ここではlibraryの下にtest.phpを作ってみます。

test.php(ファイル名とクラス名は一致させる必要があります)

<?php
  class test {
    function test(){
    }
    function testMethod(){
      /*** unit('sampleTest'); */
    }
  }
?>

テスト用ファイルをtests下に作ります。

sampleTest.php

<?php
  class sampleTest extends UnitTest {
    successTest(){
      $this->assertEqual(1,1);
    }
    failTest(){
      $this->assertEqual(1,0);
    }
  }
?>

これでもう一度動かすと、success 1, failure 1という結果が出て、テストが動いたことが確認できます。次は_testapp外のファイルをテストしたい場合について書きます。