カテゴリー: CodeIgniter3

不思議なvalidator(filter)順序

この記事は当初Qiitaに掲載していたものです。移設しました。 この記事はCodeIgniter Advent Calendar 2017の18日目の記事です。 CodeIgniter3のバリデーションライブラリはフィルタを兼ねています。入力に対して 加工する検証する という2つの役割を持ちます。...

続きを読む

CodeIgniter3の日本語訳ドキュメント消失について

先日20日(金)、日本CodeIgniterユーザ会のCodeIgniter3ドキュメント翻訳リポジトリが消失しました。 ことの発端は日本CodeIgniterユーザ会が不正なライセンス変更を行う方針としたこと、直接原因は私が著作権侵害を受けたためgithub社を通じてDMCAの通告(著作権侵害の通告)を行ったことにあります。...

続きを読む

PHP7.1でCodeIgniterを動かすならver3.1.2以上で

この記事はCodeIgniter Advent Calendar 2016の18日目です。 今月1日にPHP 7.1がリリースされました。PHP 7.1の変更点はマニュアルにまとまっています。 型に関する制御が数多く増えていて、PHPもどんどん”普通の”言語になっていくなぁという反面、負の文字列オフセットのサポートが入っているのには古き良きPHPらしいキモさを感じます。 CodeIgniterのPHP 7.1対応は3.1.2以上...

続きを読む

CodeIgniter3でのxss対応(xssフィルタは廃れました)

この記事はCodeIgniter Advent Calendar 2016の15日目です。 xss対策はたいていのアプリケーションで対応しなければいけませんが、CodeIgniter3は標準ではxss対応してくれません。この記事では対応方法について取っ掛かりになるところを提供したいと思います。 CI2から3の流れで対応があいまいに...

続きを読む

CodeIgniter3のM/V/Cの$thisは何者か

この記事はCodeIgniter Advent Calendar 2016の22日目です。 CodeIgniter3でのMVCはおまけです。ドキュメントのそこかしこにMVCアーキテクチャであるように書かれている気がしますが、おまけったらおまけなのです。 M/V/Cの$thisとは何者か...

続きを読む

言語クラスは使ってはいけない

この記事はCodeIgniter Advent Calendar 2016の2日目です。 CodeIgniterだけでなくFuelPHPにも言えるのですが、言語クラス(Langクラス)でi18n対応するのは全くおすすめできません。PHPが提供しているgettextを使いましょう。 Langクラスとは Langクラスを使うと、言語設定に合わせて読み込み対象とする文字列定義ファイルを変え、それによって国際化対応をしようとするものです。...

続きを読む

CodeIgniter3でのClockWrapperの簡易実装と、それに見るCI_Loaderクラスの可能性と限界(その1)

PHPでdate()関数を素朴に使うと日付またぎや秒単位のずれに悩まされることがあります。バッチ処理でデータベースのupdate_atがずれたり、たまたま23時59分58秒に実行開始して0時0分2秒で終わる、などの時です。 date()はデフォルトでその実行タイミングでの時刻を使用するので、2回以上実行するとき、その値が同じとは限らないのです。...

続きを読む
読み込み中