CodeIgniter

CodeIgniterの学習 55 - ヤフーの画像検索apiと形態素解析apiを組み合わせてお遊びアプリを作る-その1(現在のコード完成度15%)

前回wikiの移植が面倒くさくなって放り出したので、代わりに CodeIgniterでヤフーの画像検索apiと形態素解析apiを組み合わせてお遊びアプリを作ることにした。暇を見て一日少しずつ書いていくことにする。 今日からのエントリーは、作ったコードを少しずつ貼…

CodeIgniterの学習 54の補足、やっぱりこのwikiの拡張はやめる

うーん、ソースを触っていたらスパゲッティーすぎるので、やっぱり拡張と公開は止めることにしました。 見渡しがきかなすぎる。(この状態で公開するのは良くない気がしたので。 あと、ぐぐってみたらディレクトリートラバーサルの危険性があるとの情報を見…

CodeIgniterの学習 54 - Pawfaliki (Wiki)をCodeIgniterのライブラリー化して、wikiを使えるようにしてみる(その1:実験・紹介編)

(08/12/21追記) やっぱりとりやめ。理由は次のエントリーを参照。 あと、ぐぐってみたらディレクトリートラバーサルの危険性があるとの情報を見かけました。 (追記終わり)以下ボツエントリーお久しぶりです。今日は前回のエントリーでちょっとふれたwiki…

CodeIgniterの学習 53 - HMVCモジュールを改造してコントローラ単位(モジュール単位)での使用・不使用制御をconfigファイルで行えるようにする

久しぶりのエントリー。やりたいことは表題の通り。CodeIgniterのモジュール単位(コントローラ単位)での使用可能・不可能の制御を組み込んで、 環境に応じて使用できるモジュールを変更できるようにする。用途としては、 リリース後に一時的に一部機能のみ…

CodeIgniterの学習 52 - CodeIgniterをバッチとして呼び出せるようにする

今日はCodeIgniterをコマンドラインから呼び出す方法を試してみる。(Cron_job_bootstrapperを使用) どうしてもバッチからスクレイピングをしなくてはならない処理があったので試してみた。幾つか解決方法があるみたいだが、Cron_job_bootstrapperが気に入っ…

CodeIgniterの学習 51 - HMVCモジュールの動作確認をしてみる( HMVCを使ってブログパーツチックにコントローラやビュー内で別コントローラ(とそのビュー)を呼べるようにするその3)

今日は昨日の続き。HMVCモジュールの動作確認をしてみる。モジュール単体でも、CodeIgniter標準のコントーローラと同様に動作するのだが、 このサンプルでは、親のコントローラから呼び出される別コントローラのイメージ (ブログパーツみたいなイメージ)の…

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…

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出力できるのだが、気に入らない箇所を微修正した(後述)。出力の…