rhaco3を使ってる人なんて世界で何人居るのかなと思いつつ、あまりに情報が少ないので、メモ書きしていく。 大きめネタは別記事にまとめるが小さいネタはここに追記する。

Daoで作ったSQLを確認する方法

Daoを継承したモデルとして、Hogeモデルがあるとして

\Hoge::start_record();
\Hoge::find_get(\org\rhaco\store\db\Q::eq("id",1));//\Hogeモデルからid=1のデータを1件取得する命令
$queries = \Hoge::stop_record();
var_dump($queries);

こんな感じで使う。出力は

array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(291) "select t4."id" as c5,t4."name" as c10 from hoge t4 where  ( (t4."id" = ?) )   offset 0 limit 1 "
    [1]=>
    array(1) {
      [0]=>
      string(1) "1"
    }
  }

みたいに出る

あるクラス用に設定したConfを別クラスから参照したい

\org\rhaco\Confはクラス用に設定値を決めるのに良く使う。 大体commons/hoge.phpみたいにrhaco3で設定値を書くファイルに書くことが多い。

例としてFlowクラスでルートURLを設定するには

\org\rhaco\Conf::set("org.rhaco.Flow","app_url","localhost");

こんな感じでcommons/hoge.phpに書いたりする。Flowクラス内では

$app_url = \org\rhaco\Conf::get("app_url");

で設定した値を読み込める。 他のクラスで読み込みたい場合にどうするか良く分からなかったがソース読んだら分かったのでメモしておく

$app_url = \org\rhaco\Conf::get("org.rhaco.Flow@app_url");

これでおk。@で区切ってクラス名と取得したい値のキーを書くと値を取って来れる。