一昨日リリースされてた!
「サンプルアプリケーション」「テストツール」が消えた?
例によってWebサーバのユーザとファイルのユーザが違う状態でテスト。
サンプルアプリケーションが消えたから何をしていいのかわからなくなったので、とりあえず前回のバージョンのが残ってたからひっぱってくる。
./sample.php
<?php require_once("./__init__.php"); Rhaco::import("tag.HtmlParser"); Rhaco::import("network.http.Request"); $request = new Request(); $htmlParser = new HtmlParser(); $request->setVariable("dateString",date("Y/m/d H:i:s")); $htmlParser->setVariable($request->getVariable()); $htmlParser->write("sample.html");
./resources/templates/sample.html
<html> <head> <title>index</title> </head> <body> Date: {$dateString}<br /> <a href="http://www.rhaco.org" var="rhaco.org">frameworkname</a> <form method="post"> Hidden:<input type="hidden" name="dateString" reference="true" /><br /> Text:<input type="text" name="textvalue" reference="true" /><br /> Password:<input type="password" name="passwaordvalue" reference="true" /><br /> Checkbox:<input type="checkbox" name="checkboxvalue" value="true" reference="true" /><br /> Select:<select name="selectvalue" reference="true"> <option value="php">php</option> <option value="python">python</option> <option value="ruby">ruby</option> </select><br /> Radio: <input type="radio" name="radiovalue" value="true" reference="true" />true <input type="radio" name="radiovalue" value="false" reference="true" />false <br /> Textarea:<textarea name="textareavalue" reference="true"></textarea> <input type="submit" value="submit" /> </form> </body> </html>
まあでもサンプルアプリケーションは、基本的な形式と、HTMLの要素にreference="true"でvalueが入るってところしかわからないし、無くてもいいのかなぁ。やはりちゃんとしたドキュメントがほしいところ。誰か作って!
と思ったらphpDocができてた。クラスがわかるからこれだけでもだいぶ楽かも。
たとえばデータベース操作は、database.DbUtilのSingleton的なものを作って(ここまでは自動生成)、そこからインスタンスを取得してアクセスする感じなんだけど、たとえばselectは
$object_list = $dbUtil->select(new Bbs(), new Criteria());
みたいな感じで、BbsはともかくCriteriaって何って話だったんだけど、これは「database.DbUtilで利用する条件設定クラス」らしい。例えばチュートリアルのものを作って(ところでまだDbUtilTest.phpが生成されてない気がする)、ためしに書き込んでいくと、ログが延々と表示されるんだけど、これを最新10件にしたい場合は、
$criteria = new Criteria(); $criteria->setLimit(5); $criteria->addOrderDesc(Bbs::columnId()); $object_list = $dbUtil->select(new Bbs(), $criteria);
これでいける。というのが簡単にわかる。(実際はaddOrderDescの引数が何かわからなくて結構ソース調べたけど)
※PostgreSQLの場合、セットアップ画面の「データベースの設定」の「エンコード」の欄に「UTF8」と入力するとエラーになります(多分)。必要でなければ空欄にしましょう。