rhaco | 19:00 | http://rhaco-users.jp に色々書こうと思ったけど、順序も何も浮かばないので、まずこっちに散文を書いてから適当にまとめて書いていく手法をとってみる。と言うわけで、まずはテンプレートの継承。jigenさんのところも参考にするとイイと思う。http://jigen.aruko.net/2007/10/14/rhaco-study-society/テンプレートで継承?と思う人が多いのかもしれないけど、使ってみると取っても便利です。include地獄から抜け出せます。自分でも、Smarty用に作ってみたことあります。http://d.hatena.ne.jp/yabeken/20080309/1205079152 どう使う??デザイン用のテンプレを元に権限毎に継承して、各処理の画面テンプレでさらに継承する。例えば、以下のような感じで分けてますが、あ
SQLの条件指定に使うCriteriaの種類 メソッド Criterion 省略形 引数 説明 setGetNoneNew なし Q::goc bool GET時にデータが存在しない場合にデータを作成して返す(ソースのコメントより引用) setFact Q::fact なし なし ? setPager Q::pager*1 なし Paginatorクラス PaginatorクラスからLimitとOffsetを指定 setLimit なし なし 数値 LIMIT 数値 setOffset なし なし 数値 OFFSET 数値 setLock なし なし bool FOR UPDATE setUnionAll なし なし bool Union実行時にUNIONとするかALLとするか(ソースの略) add Q::equal Q::eq カラム,値 addEqualと同等 addEqual Q::
解決するには、public_html(もしくは必要なディレクトリ)以下で % sudo gpasswd -a user www-data % sudo find ./* -type d -exec chmod 2775 {} \; % sudo find ./* -type f -exec chmod 664 {} \; % sudo chown -R user:www-data ./* としてやる。これはそれぞれ ・www-dataグループへuserユーザを追加 ・ディレクトリのみにグループでの編集権限を追加&グループビットを追加 ・ファイルのみにグループでの編集権限を追加 ・すべてのディレクトリ + ファイルのユーザ/グループを変更 みたいな感じのことをしてる。アバウトだけど。www-dataはApacheのグループ、userは自分として、適宜置き換え。 これではまらなくなる。 どっか
※間違ってたらごめんなさい rhacoのテンプレートは基本的に {}で囲むと変数表示(Smartyみたいな感じ) ループやifは になっている。 rt:タグの解説(わかる範囲で) タグ名 引数 解説 param="条件式" value="条件式の結果(Boolean判定なら不要)" if ifと同じ ifの反対 else param="配列" var="格納する変数" counter="カウンタ変数" key="配列のキーを格納する変数" foreachと同等 counter="格納する変数" start="開始値" end="終了値" step="増加値" for ( counter = start ; counter < end ; counter += step ) コメント(出力されない) name="ブロック名" ブロック領域を指定 href="テンプレートファイル名" ブロック
Rhacoのテンプレートで使える関数みたいなん。 テンプレート中で{$f.xxx($object.item)}みたいな感じで使える。 メソッド機能 text2html(value[, length[, lines)valueを文字数length、行数linesに丸めてnl2brとescapeして出力。いっぺんにいろいろ出来て便利。lengthとlinesの初期値は0 escape(value)value内の「<, >, ', "」をエスケープする。配列やオブジェクトを渡すと空文字に変換。 unescape(value)escapeの逆 htmlencode(value)文字コードをUTF-8に変換してhtmlentitiesをかける。配列やオブジェクトは空文字に。 htmldecode(value)htmlencodeの逆 xmlencode(value)「&, <, >, ', "」を文
動的にインスタンスを生成する箇所のやり方が分からなかったけど、 id:anatoo さんに、「それ ReflectionClass の newInstanceArgs で出来るよ」とコメントで教えて頂いたので、早速やってみた。 ※ factory() メソッドだけ変更。 <?php public function factory($class, $args = null) { // No arguments if (is_null($args)) { return new $class; } // Use ReflectionClass for arguments $reflectionObj = new ReflectionClass($class); return $reflectionObj->newInstanceArgs($args); } 呼び出しもと <?php requir
PHP 界きっての変態フレームワークとの噂の rhaco には強力なスクレイピングのライブラリがあるそうな。 折角だから試してみた。 どうせ試すんだから、Zend Framework から呼び出してみる。 単純に require_once 'Rhaco.php'; とかして、使えばいいんだろうけど、ラップするクラスを作った。 ラップ用のクラス <?php require_once 'rhaco/Rhaco.php'; class My_Vendor_Rhaco { private $_package = array(); public function __construct() { } public function setPackage($package) { if (is_array($package)) { foreach ($package as $key => $val) {
PHP界きっての変態フレームワークで有名なrhacoですが,本日からひょんなことがきっかけで触り始めました.*1 今注目されつつあるので,入門したいーという方の参考になれば幸いです. そんなわけで,Lingrでtokushimaさんから直接チュートリアルされながらrhacoのおいしいところをちょくちょくつまみ食いしてきました. で,本家のチュートリアルはtrunkでは動かないかもしれないとかなので,注意が必要とのことw それと,rhacoな人がrhacoはコード補完がなきゃやってらんねぇと言ってたので,オススメに乗ってeclipseもついでに入れました.*2 その手順も載せておきます. eclipse PDT all-in-one のインストール PHP Development Tools (PDT) - Downloads 上記URLから,Release Build→Winのall-in
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く