php

Yii

php

なんつー強引な。任天堂が「Zii」「Oii」「Pii」「Qii」「Uii」「Yii」を商標登録していた2006年に既に登録してたのね。キーボード配列的に「Qii」はありえるかも。 PHPのフレームワークの方も忘れないであげてください。 Yii PHP Framework: Best for Web 2…

PDOのトランザクション周りについてメモ

php

ちょっと調べたのをつらつら。 トランザクションって コミット時に他の接続の干渉を受けないようにするためのもの トランザクション内の作業は(コミット前なら)いつでも自動的に取り消すことができる エラー処理が分かりやすくなる 実装としては、変更内容…

PHP OpenID Libraryこと始め

MixiのOpenIDを使ってログイン認証するために仕様とか(MixiはOpenID 2.0)見てみた。 仕様書(英語)と、@ITの記事が参考になります。1系と2系で用語が違うので混乱したよ・・・ざっと流れを見ると、 User-Supplied Identifier(mixi.jpとか)をユーザーがR…

PHPのフレームワーク作ってみた

php

PHPのフレームワークってたくさんありすぎてもう何使っていいか分からないので、えーいもう作っちゃえということで。ソースはGitHubにあげてます。名前は柑橘っぽく「Yuzu」にしました。 GitHub:cheesepie/yuzu個人的にはそこまで大きくないアプリを個人で作…

serialize()したSimpleXMLElementオブジェクトをunserialize()しようとしてエラる

php

$xml = simplexml_load_file( $url ); としたSimpleXMLElementオブジェクトをunserialize()すると、「Node no longer...」とかエラーになる。 マニュアルを見てみると、これはもう戻せない仕様なんですね。で、対策としてはそのままserializeせずに、string…

ATNDを携帯から見やすく

php

はてダに復帰ついでに、ATND APIを使ってATNDを携帯から見やすくするアプリを連休中にPHPで作ってみました。ATND for Mobile普段はガラパゴス携帯を使っているのですが、最近ATND経由でイベントに参加してみる機会が増えてきたので、外出先から携帯で見れた…

レンサバのメジャーどころのPHP5対応状況

php

さくらインターネット: PHP5.2.6 ロリポップ : PHP5.2.6 heteml : PHP5.1.x 3社ともPDO::SQLiteは使えるみたい。 PDO::MySQLは3社ともダメ(さくらは自分で入れれば使える)。 なので、MySQLのラッパ作る場合はMySQL関数で何とかしておけば、動かないってこ…

Dwooテンプレートの中で連想配列を作りたいとき

PHPと構文が変わるのでちょっとはまった。 APIドキュメントの組み込みヘルパのところに載ってた。 {assign array(id=3, name=jack) params} // array("id"=>3, "name"=>"jack") とすると、テンプレ内で{$params}を連想配列として扱えるようになる。 「=>」で…

例外処理とロギングのひな形

php

例外をキャッチしたときにしたいこと ログ取り エラー画面の表示 なので、Exceptionクラスを拡張して、上の2つのメソッドを追加する。 ・exception.php

ちょっとURLルーティングを自作

php

どんな風に動いているか興味があったのでやってみた。 めちゃ車輪の再発明だけどw routes.php

Kohanaに入門してみた(2)

簡易ブログのエントリ一覧は表示できたので、次はエントリ追加、エントリ詳細、コメント追加をできるようにします。エントリ追加。 controllers/blog.php public function add_entry() { $_POST = new Validation($_POST); $_POST->add_rules('title', 'requ…

Kohanaに入門してみた(1)

ここしばらくCodeIgniterを触ってみていたのですが、そこから派生したKohanaというフレームワークが良さげ。 ソースも読みやすく、慣れればちっちゃなアプリをサクッと作れそう。というわけで、フォーラムにもある簡易ブログを作ってみました。 テンプレート…

ライブラリの中でCodeIgniter組み込みのクラスを使う場合

class Hoge { var $CI; function __constructor() { $CI =& get_instance(); } function somefunc($id) { $this->CI->db->get_where($table_name, array('id' =>$id)); // 何か処理 } }みたいにインスタンスを取らないといけない。 コントローラ内でCodeIgni…