nazolabo

フリーランスのWebエンジニアが近況や思ったことを発信しています。

rhaco

rhaco1のCHM(Windowsヘルプファイル)を作った

http://nazone.info/dev/rhaco1.zip CHM好きは使ってみてね!

rhacoでTwitterのBOTを作るチュートリアル

PHPでTwitterのBotを作ってみる - yuyarinの日記 をrhacoで実装しようと思います。使用するrhacoはrev.2594(2008/1/21時点でのtrunk)です。 初期設定 ※ 作業中は作業フォルダ以下の全てのフォルダ/ファイルのパーミッションを777(あるいはapacheが読み書…

Conveyorを超簡単にAIRアプリ化する

ローカルでPHPが動く環境限定 root.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> <!-- html, body { margin:0; padding:0; } iframe { border:0; margin:0; padding:0; } --> </style> </head> <body> </body></html>

symfonyでrhacoのテンプレートエンジンを使うプラグイン

sfRhacoViewPluginを作りました! インストール http://highfreq.net/dev/sfRhacoViewPlugin-0.1.tgz から直接ダウンロードしてください。PEARチャンネルは作ってないのでsymfonyコマンドでのインストールはできません。 ダウンロードしたものをプロジェクト…

conveyorのworkerを単独で使う方法

別に単独で使ってもいいよね execute(new Rss20()); // 以下$rssを処理 加工系や出力系の場合はexecute…

rhacoの仕様変更の多さは異常

Templateにタグを新たに追加する(再) - ふわふわな毎日 http://d.hatena.ne.jp/nazone/20070411/p2 ですが現在のrhacoでは動作しません。 Pluginではなくfilterという形式の動作に変更になったので、

rhacoでそれっぽいコントローラを書くとどうなる?

http://d.hatena.ne.jp/nazone/20070413/p1よりもう少しrhacoっぽくして説明をわかりやすくしてみました。 内容 以下setup.phpでの初期化が終了している前提で index.phpを作成し、以下の内容を書く

rhacoでもできるよ

http://lib.rhaco.org/view/network/services/GoogleMobileAdSense.php

Yahoo!の形態素解析APIのrhacoラッパー作った

ソース→http://highfreq.net/dev/YahooMAService.php.txt http://developer.yahoo.co.jp/jlp/MAService/V1/parse.html をrhacoから使う。なぜかPOSTで動作しなかったのでGETのみ。 $y = new YahooMAService("********"); var_dump($y->parse("庭には二羽ニワ…

PHPで正しいメールアドレスを調べる方法

いくつか実装での「正しいメールアドレス」を調べてみました。 http://catbot.net/blog/2007/06/re_php.html rhacoも入れてあげて!多分そんなに変わらないけど! というわけでrhacoは以下のようになっています。(lang/Validate.phpより) /** * Emailアド…

Logger

PHPでロギングする方法はrhacoもお手軽! 手順 setup.phpでログレベルとか表示方法とか設定 プログラムの任意の場所で Logger::info('ログですよ'); 完 Loggerの種類 log4jっぽい感じで Logger::error Logger::warning Logger::info Logger::debug Logger::d…

XSS対策

※本家のほうで便利なpluginが出来たようです。こちらを使いましょう。 そういやこのままだとHTMLタグそのまま出力されちゃうじゃん!というわけでEthnaっぽくしたHtmlParserが以下

project.xml

最近最新Pythonエクスプローラ買いました!Django勉強中です。 というわけでrhacoがDjango的だという部分の1つにデータベース設計がDRYな点があります。RailsのARとかだと、ある程度は完成されたDB定義から吸い出してくれますが、そこからさらに細かい定義…

rhacoでlivedoor Authを使う

http://highfreq.net/dev/LivedoorAuth.php.txt HMAC-SHA1の実装はhttp://www.php.net/manual/en/function.sha1.php#39492を使わせていただきました!勝手に使っていいのかな ※rhacoのバージョンはSVN trunk版じゃないと動かないかもしれません 使い方(ログ…

WWW SQL DesignerのXMLをrhacoのproject.xmlに変換するXSL

http://ondras.praha12.net/sql/ のXMLを変換します。 http://highfreq.net/dev/xml2rhaco.xsl.txt txtにしてるので拡張子はxslに戻してね! 使い方 WWW SQL Desginerで設計し「Export to XML」でXML形式にして保存 保存したXMLの頭のほうに以下の定義を追加…

rhacoでRailsのControllerみたいなのを作ってみた

なんかrhacoのメリットぶち壊してる気がしなくもないけど作ってみました。 http://highfreq.net/dev/controller_sample.zip library/controllers/がRailsのapp/controllers/ resources/templates/がRailsのapp/views/ と考えるとわかると思います。 実行する…

Templateにタグを新たに追加する

HtmlParserを継承したクラスで、_execなんとか(なんとかは何でもいいらしい)ってメソッドを作ると、それが構文解析中に呼ばれる。 set…

Templateにタグを新たに追加する(再)

わざわざ内部定義を追加しなくても、ちゃんとプラグイン的な機構が既にありました。 set($src,$parser->_getTagName("url"))){ $href = $tag->getParameter("href", ""); $sess…

rhacoでTwitterの携帯電話用ゲートウェイ作ったよ

http://itwitter.nazone.info/ パスワード垂れ流しなのでセキュリティ的に怖い人は使わないでください!(一応ログは全て捨てていますが、セッション情報として一時的には残ってしまいます) 自鯖でやるからソースくれよって人はhttp://highfreq.net/dev/itw…

SimpleTag

HTMLとかのデータを解析。 tag.HtmlParserはテンプレート向けなので(多分)、通常のHTMLを解析してあれこれする場合はこっちを使う。 例えば前回の、

Request

通常使われる、GET/POSTや、セッションデータは、network.http.Requestクラスから取得する。 getVariable(); // GET/POSTの値(区別なし)を全てkey/valueペアの配列で取得 $value = $request->getVariable("value"); // GET/POSTの"value"の値を取得…

FeedParserでお手軽RSS解析

setVariable("channel",$feed->getChannel()); $htmlParser->setVariable("items",$fee…

GenericView

Djangoにもある機能らしい。CRUDを実現する構造。Railsで言うところのscaffoldの骨組みだけみたいな。(多分) 今まではcontribute.generic.GenericViewだったけど、1.1.0からはgeneric.Viewsになっているので注意。(ただし互換モードでは大丈夫です) まず…

Criteria

SQLの条件指定に使うCriteriaの種類 メソッド Criterion 省略形 引数 説明 setGetNoneNew なし Q::goc bool GET時にデータが存在しない場合にデータを作成して返す(ソースのコメントより引用) setFact Q::fact なし なし ? setPager Q::pager*1 なし Pagi…

国際化

rhacoにはgettextベースの国際化機能がある(とか言ってみたけどgettextって何かよくわかってません!ごめんなさい!)。 setup/intltool.phpというのが自動生成されているので、これにアクセスすると、国際化文字作成ツールが利用できる。 最終的には $GLOB…

認証

※haltさんが参考になるメモを書いてくれました。この記事も参考にしてます。あとlingrのログも参考にしてます。 基本的な認証方法 rhacoには標準で、ファイルによる認証管理が付属している。とりあえずこれを使う。 setup.phpで生成する際に、「認証ファイル…

template

※間違ってたらごめんなさい rhacoのテンプレートは基本的に {}で囲むと変数表示(Smartyみたいな感じ) ループやifは になっている。 rt:タグの解説(わかる範囲で) タグ名 引数 解説 param="条件式" value="条件式の結果(Boolean判定なら不要)" if ifと…

Paginator

チュートリアルのものから改造(追加、変更部分のみ) sample.php Rhaco::import("database.generic.Paginator"); // (中略) $page = intval($request->getVariable("page")); $criteria = new Criteria(); $criteria->setLimit(5); $criteria->setOffset(…

rhaco 1.1.0 Released

一昨日リリースされてた! 「サンプルアプリケーション」「テストツール」が消えた? 例によってWebサーバのユーザとファイルのユーザが違う状態でテスト。 サンプルアプリケーションが消えたから何をしていいのかわからなくなったので、とりあえず前回のバ…

続き

中の人に見られちゃったからがんばる!でもhttp://www.venten.net/?eid=584515は前のとどこが変わったのかよくわかんないです!ごめんなさい! あと書き忘れてたけど、環境はVMware上のFreeBSD6.1です。PHPはportsから入れた5.2.0です。 ファイルがコピーさ…