2008-10-01から1ヶ月間の記事一覧

CodeIgniterの学習 31 - JSONヘルパを試す(住所郵便番号検索作成その3 )

今日はXML-RPCライブラリを使うのをやめて、 JSONヘルパ (http://codeigniter.com/wiki/JSON_Helper/)を試してみる。 (CodeIgniter標準のヘルパではない。) 本当は、外部連携(webapi)させることも視野に入れて、xmlrpcを噛まして、1:画面(検索条件入力)…

CodeIgniterの学習 30 - 住所←→郵便番号 の相互検索機能ヘルパを作る(その2 CodeIgniter側で郵便番号データ取り込み機能を作ったがボツにしたソース)

(08/12/19追記)以下の記述で使っているcurlライブラリは、 現在CodeIgniterのwiki上にある最新のcurlライブラリと異なります。このブログの記述時点のリビジョンは http://codeigniter.com/wiki/Curl_library/revision/7530/ だったのですが、現在の最新は …

CodeIgniterの学習 29 - 住所←→郵便番号 の相互検索機能ヘルパを作る(その1 元データの準備)

今日から数回にわたって、 住所の一部を入れて郵便番号を検索する機能 郵便番号の一部を入れて住所を検索する機能 を作ることにする。理由、目的CodeIgniterのヘルパとして、上記のアシスト機能が欲しくなったから。テキストエリアに郵便番号or住所の一部を…

CodeIgniterの学習 28 - 画像のリサイズ、回転、切り取り、文字合成を試してみる

今日はCodeIgniter標準の画像操作クラスを使って、 画像のリサイズ(resize),回転(rotate),切り取り(crop),合成(watermark)を試してみる。サーバサイドだけでの簡単な画像操作ならば、これでも使えなくはない。 標準機能としてはまあ良いんじゃないかと思った…

CodeIgniterの学習 27 - CSVファイルをクエリから出力してみる。ついでにDB_utility.php内の出力形態の微調整

今日はCodeIgniterからCSVファイルの出力をしてみる。連携ファイルの出力とかで必要だよね。昨日のエントリのsqlite3が結構重かったので今日は簡単なネタ。マニュアルの通りにやれば一応CSV出力できるのだが、気に入らない箇所を微修正した(後述)。出力の…

CodeIgniterの学習 26 - sqlite3 (PDO経由) を CodeIgniterで半ば強引に使ってみる(実験)

今日は CodeIgniterで、PDOを使ってsqlite3を使ってみることにした。他のかたが挑戦しているのも前に見かけた気がしたけど、取りあえず俺の作業ログも書いておく。 (2009/11/19追記) CodeIgniterのフォーラムで、SQLite3 + CI 1.7.2の別の実装を見つけた。…

CodeIgniterの学習 25 - Db_sessionのsession_data列をTEXT型からMEDIUMTEXT型に変える

(08/11/10追記) http://d.hatena.ne.jp/dix3/20081110/1226243974 にまとめました。 session_dataは、TEXT型なのだが、これだとmysqlでは65535文字以降は通常切り捨てられてしまう。大抵はこれで事足りるのだが、session_dataに、 配列とかオブジェクトとか…

CodeIgniterの学習 24 - Db_session利用時に$this->db_session-> と $this->session-> のどちらでも呼べるようにする

(08/11/10追記) http://d.hatena.ne.jp/dix3/20081110/1226243974 にまとめました。 ええと、今更ながら、以前のエントリ セッションをDBに保持するようにする (暫定版)1(http://d.hatena.ne.jp/dix3/20080921/1221946495) の補足。freakauthのログイン…

CodeIgniterの学習 23 - ワンタイムチケット(ワンタイムトークン)の機能を作って、CSRF対策をちょっとした気分になってみる

今日はワンタイムチケット(トークン)の機能を実装してみる。CodeIgniter Version.1.6.3 には標準では、ライブラリ・ヘルパ共に該当のものは存在しないようだ。 POSTするフォーム毎に、セッション + フォーム側のhidden項目を使って、 バリデーションチェッ…

CodeIgniterの学習 22 - 開発用のプロファイラを拡張し、db_sessionの情報を表示する

今日はCodeIgniterのProfiler.phpを拡張してみる。というのも、ワンタイムトークン(ワンタイムチケット)のライブラリの俺俺改造(というかほぼ作り直し)の途中で、 データベース利用のセッション(db_session)の情報をいちいち見るのが面倒になったから、…

CodeIgniterの学習 21 - 標準のValidation機能を拡張し、Javascriptとphpの両方でバリデーションチェックしてみる(ClientServer Validation の改造)

今日は 先日のエントリ ( http://d.hatena.ne.jp/dix3/20081011/1223705482 ) のXMLでのフォーム生成の試みをやめて、標準のCodeigniterのフォームバリデーションチェック処理を拡張する形で、バリデーション機能を簡略化してみる。 CodeIgniter標準のバリデ…

CodeIgniterの学習 20のやり方はやっぱりやめる。XML定義のフォームライブラリは使わないことにした。

朝令暮改だが、昼のエントリ( http://d.hatena.ne.jp/dix3/20081011/1223705482 )のXMLでのフォーム生成はやっぱりやめることにした。理由 構成がシンプルじゃなくなる割に、コーディング量があまり変わらない。 柔軟性に欠ける。他のバリデーション系ライ…

CodeIgniterの学習 20 - 標準フォームヘルパの代わりに、XML定義のフォームライブラリを使いフォーム生成とバリデーションを簡略化してみる(調査編1)

(08/10/11追記 http://d.hatena.ne.jp/dix3/20081011/1223725579 の理由によりこの方法は取りやめることにした。)(08/10/16 追記) 下記のかわりに、ClientServer Validation 改のこっちを使ってみることにした。 (http://d.hatena.ne.jp/dix3/20081013/12…

CodeIgniterの学習 19 - 一覧画面にページリンクを設置してみる(ページネーションクラスの使用)

今日は一覧画面のページネーションを試してみることにする。 マニュアルのページネーションクラスの説明を見ながら、タスクリストに組み込んでみる。試してみると特に難しくなくあっけなく出来た。すばらしい。 今日は変更した部分のみ載せる。 元ソースは昨…

CodeIgniterの学習 18 - HTMLテーブルクラスを使ってテーブルタグを自動生成してみる

これまでいろいろ試していたけど、CodeIgniterの標準機能のものをあんまり使って学習していないので、 基本に立ち返って、タスクリストを作りながら学習していくことにする。設計とかはせずに行き当たりばったりで、いろんな機能を試してみるつもりなので、 …

CodeIgniterの学習 17 - スカッフォールディング(Scaffolding)を試してみる

今日は、あまり興味は無いけどScaffoldingの機能を使ってみることにする。スカッフォールディングを使って、開発用のデータ追加と編集が簡単に出来るらしい。 ついでなので、今日から練習アプリのタスクリストを作ることにする。作業1)application/config/…

CodeIgniterの学習 16 - 開発時にプロファイラを有効にし情報を表示する

開発時にメモり使用量とか、ベンチマークとか、POSTデータとか実行したSQLとかを表示したくなったので、 マニュアルでやり方を引いてみた。「アプリケーションのプロファイリング 」の項に コントローラ のメソッド内のいずれかの場所で次のメソッドを含むコ…

CodeIgniterの学習 15 - Zend Framework を CodeIgniter上で使う

ええと、昨日のエントリの続き、 Zend Frameworkにある沢山の有用なライブラリを、CodeIgniterで使えるようにしてしまいましょうというお話。「じゃあ全部 Zend Frameworkで作ればいいじゃん」 と言う話は置いておく。 CodeIgniterで足りないライブラリは一…

CodeIgniterの学習 14 - (続)自作関数、自作クラス等を設置する場所実験

昨日のエントリのサンプルソースがあまりにも使えないので、ちょっとだけマシなサンプルを置いて試してみる。Snoopyを使って http://www.example.com/ の画面を切り取ってみる。材料1)ライブラリ:application/libraries/Snoopy.phpソース: Snoopy - the …

CodeIgniterの学習 13 - 自作関数、自作クラス等を設置する場所

能書きCodeIgniterを使うのが適しているケースは、 「既にある仕組みを再整理したい。」(かつあまりコーディングのやり直しはしたくない) 「作り方をお仕着せられるのは嫌いだけど、ある程度の軸は有った方がいいよね。」 「別の言語で作れっつっても、安…