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

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

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

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

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

PHPでdate()関数を素朴に使うと日付またぎや秒単位のずれに悩まされることがあります。バッチ処理でデータベースのupdate_atがずれたり、たまたま23時59分58秒に実行開始して0時0分2秒で終わる、などの時です。 date()はデフォルトでその実行タイミングでの時刻を使用するので、2回以上実行するとき、その値が同じとは限らないのです。 その克服方法としてはextensionを書いてしまうというのが根本解決ですが、いかんせん導入のハードルが高すぎます。ここはライトな方法としてClockWrapperを使う方法を考えてみます。

CodeIgniter3セッションライブラリ和訳の「訳者注」

さきほどCodeIgniter3セッションライブラリのマニュアル和訳を完了しました。全部で1000行以上、マニュアルの各ページの中でも一番長い部類のものでした。さきほどPull Requestを行ったので、数日のうちに公開されることでしょう。 http://pneskin2.nekoget.com/codeigniter/3/user_guide/libraries/sessions.html しかし訳していて、翻訳の中には書くことのできない「訳者注」も多く感じており、ここに別記事として書いてみたいと思います。