rhaco

RhacoでRSS Feedを作る。

Rhaco1.xで動いているアプリがいくつかあるのでメンテナンス。 Rssをrhaco1.xで吐き出す方法。意外と忘れます。 Rhaco::import('tag.feed.Rss20'); Rhaco::import('tag.feed.model.RssItem20'); $rss = new Rss20(); $rssItem = new RssItem20(); $rssItem->…

Rhaco1.6dereadでTemplateFormatterを使う

rhaco1.6でviewsのread()したときにテンプレートから利用出来るTemplateFormatterをすぐ忘れちゃうのでメモ。$fを付けてテンプレート内で利用出来るのがTampleteFormatterクラスです。テンプレート例: <rt:loop param="object_list" var="list"> {$f.dateformat($list.date, 'Y-m-d H:i:s')} </rt:loop>Tempate…

rhaco:ext.network.mail.Gmailにテンプレートを使ってメールする方法

以前に紹介した ext.network.mail.Gmail を使ってviewsのテンプレートなどを使ってメールを送信する方法をまとめておきます。 require('__init__.php'); Rhaco::import('generic.Views'); Rhaco::import('ext.network.mail.Gmail'); $v = new Views(); $gmai…

rhaco:columnConvVariable function

ColumnObjectからvariablesに変換するmethodがおそらく無いので作りました(あったら教えてください)。$columnObj->userSeiRubi のように変換されたcolumn objectを $request->variables['user_sei_rubi'] のように変換することができます。使い方は array co…

rhaco:project.xmlとTableObjectUtilの使い方など

project.xmlに書いたchoicesなどのデータを取り出したいことがありますよね。そういう時は下記のようにして取り出します。Usersテーブルのprefのchoices一覧を取り出す方法です。 Rhaco::import('model.Users'); var_dump( Users::columnPref()->choices() )…

rhaco:rhaco1.6でgmailのsmtpから送信する方法

rhaco1からgmailを送信するのが本当に面倒だったので全部まとめてライブラリにしました。 設置が結構面倒くさいです。下記をDOWNLOADします。rhaco1-gmail.zip中にはGmail.phpとphpmailer.phpとsmtp.phpが入っています。 phpmailerはあのPHPMailerです。利用…

rhaco: RequestLoginを拡張したRequestLoginExt

RequestLoginクラスは思った以上に拡張性がなかったので拡張しました。 http://api.rhaco-users.jp/d8/dd3/RequestLogin_8php-source.htmlデータベースにはusersテーブルにemail, passwordが必要という設定です。ログイン状態を保存するという機能を実装する…

rhaco: 都道府県コード for project.xml

意外となかったのでテンプレートに使ってください。 <data caption="北海道">1</data> <data caption="青森県">2</data> <data caption="岩手県">3</data> <data caption="宮城県">4</data> <data caption="秋田県">5</data> <data caption="山形県">6</data> <data caption="福島県">7</data> <data caption="茨城県">8</data> <data caption="栃木県">9</data>

rhaco: modelクラス インターフェース一覧

bool beforeUpdate(database::DbUtil)Views::update() 実行時にupdateSQLが実行される前に実行される。 bool beforeInsert(database::UbUtil)Views::create() 実行時にinsertSQLが実行される前に実行される bool afterUpdate(database::UbUtil)Views::update…

rhaco: model.xxx->verify()内でエラーメッセージを表示する

function verify(&$db){ ExceptionTrigger::raise(new GenericException('This is Error message.', 'xxx')); return false; } Exceptionクラスの詳細は http://api.rhaco-users.jp/d5/da8/classExceptionTrigger.html少ないrhacoの情報ですがかろうじて詳細…

rhaco: project.xmlでcookieの有効期限を設定する

<project> <cookie expire="123456" /> </project> cookie expire="" の一行を追加してやるだけです。 かんたんです。

rhacoでGoogle Map Geocodingする方法。Google map APIを使って住所から緯度経度を検出する。

住所から緯度経度を調べるサービス(http://www.geocoding.jp/ など)がありますが、サービスを通さずに簡単に住所→緯度経度を検出できます。実際はGoogleにどこも頼っているわけですし。どこもここを参照するわけです。Google map api なんでわざわざ他のサー…

rhaco: rhacoでHttp::request GET/POSTする方法。

Rhaco::import('network.http.Http'); $url = 'http://www.kmusiclife.com/'; $headers = array( 'User-Agent'=>'Mozilla/5.0', 'abc'=>'postdata' ); list($head, $body) = Http::request($url, 'POST', $headers); echo $body; rawdataを送りたいときは Rh…

rhaco: データベース操作(SQLクエリを直接)

Criteriaクラスを使ったORマッパーは非常に柔軟でプログラマのミスを減らしてくれたりしますが、SQLをダイレクトに書いたほうが早いことはあります。奨励はされませんが、まぁ分かりやすいこともあって使うことも多々あるかと思います。project.xml

rhaco: データベース操作(update)

project.xmlでrequire="true"になっている場合はupdateの際にrequireの項目にダミーデータを入れてあげてください。ダミーを入れないとエラーが出ます。その他unique="true"が設定されている場合はuniqueのカラムにダミーを入れたTableObjectを作成しQ::equa…

rhaco: データベース操作(delete)

rhacoでのdeleteの仕方を書き忘れていました。INSERT, SELECT, UPDATEができればDELETEはかんたんだお。project.xml <project rhacover="1.6.1" version="0.0.1" name="rhaco_test" xmlns="http://rhaco.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://rhaco.org http://m.rhaco.org/xsd/project_1_6_x.xsd"> <…</project>

rhaco: いまさらって感じのSimpleTagの使い方

xmlだけではなくhtmlも強力にパースするライブラリさん。 phpでスクレイピングするならrhacoが最適です。こんな便利なものはありません。 <xmp> <?xml version="1.0" encoding="UTF-8"?> <user> <id>3724581</id> <name>Yuta Konishi</name> <screen_name>kmusicl</xmp>…

rhaco: rhacoでTwitter OAuthを実現する方法

oauth.zipをダウンをロード oauth.ziplibrary/oauth/に内容を展開。内容はOAuth.php, TwitterOAuth.phpTwitter OAuth Clientで( http://twitter.com/oauth_clients )アプリケーションを登録。登録内容は簡単。アプリケーション名とアプリケーションのURLを入…

rhaco: はてな用ライブラリ

rhacoではてなのサービスを利用するためのライブラリです。arbo.network.services.HatenaAPIが使いにくかったから作った。Hatena.phpをlibrary/mashiroに保存 class Hatena{ function Hatena($user, $pass){ $this->user = $user; $this->pass = $pass; $thi…

rhaco: データベース操作(select)

project.xml <project rhacover="1.6.1" version="0.0.1" name="rhaco_test" xmlns="http://rhaco.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://rhaco.org http://m.rhaco.org/xsd/project_1_6_x.xsd"> <database name="rhaco"> <table name="items" admin="true"> </table></database></project>

rhaco: データベース操作(insert)

project.xml <project rhacover="1.6.1" version="0.0.1" name="rhaco_test" xmlns="http://rhaco.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://rhaco.org http://m.rhaco.org/xsd/project_1_6_x.xsd"> <database name="rhaco"> <table name="items" admin="true"> </table></database></project>

rhaco: TwitterAPI投稿実装(update)

index.php require('__init__.php'); Rhaco::import('arbo.network.services.TwitterAPI'); $tw_user = 'username'; $tw_pass = 'password'; $tw = new TwitterAPI($tw_user, $tw_pass); // twitterへ投稿(update) $tw->status_update('This is test post.');

rhaco: ユーザ認証実装 with cookie(最小ソース)

project.xml <project rhacover="1.6.1" version="0.0.1" name="userauth" xmlns="http://rhaco.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://rhaco.org http://m.rhaco.org/xsd/project_1_6_x.xsd"> <database name="userauth"> <table name="users" admin="true"> </table></database></project>