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

CodeIgniterの学習 50 - HMVCモジュール拡張のインストールと改造をする( HMVCを使ってブログパーツチックにコントローラやビュー内で別コントローラ(とそのビュー)を呼べるようにするその2)

今日は昨日のエントリーの続き。CodeIgniterのHMVC拡張をおこなう。(PHP5用)ついでに一部不満な箇所を微改造。(モデル等のファイル名の大文字小文字を区別するところ等)(今日のエントリーはインストールと微改造まで、続きは明日)インストール設置する…

CodeIgniterの学習 49 - HMVCを使ってブログパーツチックにコントローラやビュー内で別コントローラ(とそのビュー)を呼べるようにするその1

今日は、HMVCの拡張を使って、モジュール単位でのソース管理(機能管理)を実現する。 (記述することが多いので今日から数日に分ける。今日はまず概念から。)コントローラやビュー(ブログパーツチックなビューの一部)、 ライブラリを小分けに管理したく…

CodeIgniterの学習 48 - PHPLOTのラッパーライブラリを作ってグラフ生成を簡単にする その1 (PHPでグラフを生成して表示したい 2 (実装))

(08/12/04: Thanks for introduce this source to the CodeIgniter Wiki. I feel a little happy! http://codeigniter.com/wiki/Phplot/ CodeIgniter本家のWikiにこの拙いソースを翻訳して投稿してくれた方がいた。 ついでに本家wiki側ソースの、自動翻訳絡…

CodeIgniterの学習 47 - PEAR :: Var_Dumpを使ってプロファイラにvar_dump情報を整形して吐く俺俺ヘルパを作る

今日は昨日のエントリーの関連。せっかくCodeIgniter上でPEARを簡単に使えるようにしたので、 開発が楽しくなるようにPEAR :: Var_Dumpを簡単に呼べるヘルパを作ってみる。 以下PEARと決別した人には全く不要なエントリー。 俺は現実派のヌルグラマなんで、…

CodeIgniterの学習 46 - CodeIgniter上でPEAR、Zend Frameworkの簡単ロードを実現する(改造版)

ええと、今日は先日の CodeIgniterの学習 44 - PEARをCodeIgniter上で使えるようにする http://d.hatena.ne.jp/dix3/20081118/1226994170 の続き。 (include_pathの追加、ソースの設置等の前提は既に済んでいるものとする。) 先日のエントリーでは、 どっ…

CodeIgniterの学習 45 - ランダムな文字列を生成する

今日はさらに小さなネタ。この日記のリファラを見るとなんか検索上位に引っかかってたので、書いておく。 ランダムな任意の長さの文字列・数字とかパスワードを生成する練習。 答え:文字列ヘルパの random_string() を使うCodeIgniterのマニュアルを見れば…

CodeIgniterの学習 44 - PEARをCodeIgniter上で使えるようにする

今日はPEARをCodeIgniter上で使えるようにする。簡単なネタ。全くの新規開発ではなく、 過去に開発したプログラムを短時間で移植したい場合など、事情によってはPEARを使いたい場合も有るだろう。元ネタは http://codeigniter.com/wiki/PEAR_integration/ だ…

CodeIgniterの学習 43 - ログ出力をZend_Logに置き換える

今日はCodeIgniterのログ出力をZend FrameworkのZend_Logに置き換える作業をする。興味無い人には価値のない作業。 既に学習というより拡張の段階に入ってるかも。(好みで拡張できるのがCIの良いところだと思うけど、 幕の内弁当が大好きな人には向かないか…

CodeIgniterの学習 42 - デバグ用のログメッセージを簡単且つ行番号付きで表示できるようにする

今日はCodeIgniterログメッセージの呼び出し方を楽にしてみる。以下不平不満CodeIgniterのログメッセージは、system/codeigniter/Common.php 内で定義されている function log_message($level = 'error', $message, $php_error = FALSE)を使うのだが、(ちな…

CodeIgniterの学習 41 - CodeIgniterをVersion1.7.0にアップしたら、system/database/DB_utility.phpを修正しないとCSV出力が出来ない

勢いでCodeIgniterのバージョンを1.6.3から1.7.0にアップしたらCSVファイルの出力が出来なくなった。 (関連 CodeIgniterの学習 27 - CSVファイルをクエリから出力してみる。ついでにDB_utility.php内の出力形態の微調整 http://d.hatena.ne.jp/dix3/2008102…

CodeIgniterの学習 40 - テキストヘルパの character_limiter()(指定した文字数の位置での切取) の日本語(マルチバイト)対応をしてみる

今日は簡単なネタ。CodeIgniterのテキストヘルパは日本語(マルチバイト)に対応していないので ちょこちょこ対応させてみることにする。便利なので貼っておく。ありふれているので、既に解決例があるかも知れない(ネタが被っているかもしれない)けどしら…

CodeIgniterの学習 39 - 俺俺改造版csrfライブラリ(ワンタイムトークンCSRF対策)を改良して、一時データをセッションに保持し簡単かつ極力安全に取得消去できるようにする

今日は以前のエントリ CodeIgniterの学習 23 - ワンタイムチケット(ワンタイムトークン)の機能を作って、CSRF対策をちょっとした気分になってみる http://d.hatena.ne.jp/dix3/20081017/1224196292のCSRFライブラリを表題のように改良したので、使う人はい…

CodeIgniterの学習 38 - DB2_SessionとさよならしてCodeIgniter Version 1.7.0のSession.phpに移行しつつ、FreakAuth等既存のdb_sessionと書いているソースを置換しないで済ませる方法まとめ

(08/11/10 5:10全削除) なんか$config['sess_time_to_update']がらみでうまくいかない+あまりいろいろ書くと逆に混乱するので、 このエントリ(CodeIgniterの学習 38)は残さずにあえて削除します。顔洗って深呼吸して出直してくるねん。(08/11/10 5:50復活…

CodeIgniterの学習 37 - DB2_Sessionのこれまでの差分まとめ

いい加減セッション周りを考えるのも飽きたのだが、 DB2_Session改 Db_session にいくつか手を入れたので、現在までのまとめを貼っておく。俺自身は、CodeIgniter1.7.0のSession.phpベースにいずれ移行する予定 (動作の安定が確認されたら移行する。 いきな…

CodeIgniterの学習 36 - HTTPレスポンスヘッダの調整をおこなってブラウザ側でキャッシュされないようにする

昨日のエントリの作業中に、HTTPヘッダを見ていると、 Expires Last-Modified Cache-Control Pragma 系のヘッダを吐いていないことに気づいた。普通のHTMLページ(静的ページ)ならば、キャッシュは別にされても良いけれど、webシステム系だと、ブラウザ側の…

CodeIgniterの学習 35 - DB2_Sessionの微改造をおこなってセッションIDの強制切り替え時間を5秒毎(任意の秒毎)にする

(08/11/10追記) http://d.hatena.ne.jp/dix3/20081110/1226243974 にまとめました。(08/11/09追記) うーん、この改造は一時取りやめ、 取りあえず元に戻して保留する。 以前のエントリhttp://d.hatena.ne.jp/dix3/20080921/1221946495 で CodeIgniter Versio…

CodeIgniterの学習 34 - htmlspecialcharsをh()で呼べるようにする

(08/11/30訂正) CIにはform_prep()ってのがあったみたい。 でもh()の方が短いので、コメントアウトしてただのラッパーにしてみた。 そういえば、フォームヘルパの学習が足りていないな。 (08/12/15追記)ちなみにform_prep()でエスケープするのは、formヘ…

CodeIgniterの学習 33 - 日付フォーマットの変換をMySQL_DATETIME_Helper改を組み込んで楽にしてみる

今日はCodeIgniterにMySQL_DATETIME_Helper( http://codeigniter.com/wiki/MySQL_DATETIME_Helper/ )を組み込んで、 日付ヘルパを拡張してみる。ついでに日本用に少々改造してみた。日付の変換って面倒だ。mktimeとか使いだすと、頭が混乱するので嫌いなの…

CodeIgniterの学習 32 - xajaxで住所/郵便番号検索サンプルを作ってみる(住所郵便番号検索作成その4 )

(仕事が忙しいので、学習の更新は少なめなりよ。チェックしてないアニメがry) 今日は以前CodeIgniterに組み込んだxajaxライブラリ(http://d.hatena.ne.jp/dix3/20080924/1222195390)と、 以前学習したテーブル生成クラス(http://d.hatena.ne.jp/dix3/200…