session_start と __wakeup で無限ループ。

PHP 5.2.6 でのお話。

PHP のクラスでは __wakeup っていう特殊メソッドが使えます。
例えば、セッションに保存したオブジェクトを復元する時に、
変数を復元するだけじゃなく、何か計算をしたり、
データベースから最新の値を取ってきたりしたい時があります。
そんな時、そのクラスに __wakeup 関数を作って、その中に必要な処理を書いておけば、
オブジェクトが復元される時に、自動的にその処理が実行されます。便利です。

__wakeup について、詳しくはマニュアルを見てね。
PHP: マジックメソッド – Manual

今回は、
session_start と __wakeup を一緒に使うと無限ループしちゃう事があるから気を付けよう。
というお話。

“session_start と __wakeup で無限ループ。” の続きを読む

9月だよ。仕事しよう。

日本の首相が辞任を表明したりしている9月1日。

長い夏休みを終えて、今日からお仕事です。
今回のお仕事は、ショッピングモールのシステムを作るお仕事です。
ショッピングモールって言うのは、インターネット上でお買い物ができるお店がいっぱい集まった商店街みたいなモノの事です。

今回のお仕事の面白いところは、仕事の速さに挑戦する所です。
ホントなら、数人で何ヶ月かかかるはずのショッピングモールの開発を、
愛と勇気と知恵と手抜き(良い意味で)と技術力と気合で2週間で終わらせる予定なのです。

“9月だよ。仕事しよう。” の続きを読む

PHP のフレームワークいろいろ

最近フレームワークを使った PHP アプリケーションを良く見かけるようになりました。
僕も1回使ってみようかと思ったらけっこういろんな種類があることが判明。

どれがいいか分からないのでとりあえず4つだけメモ。
“PHP のフレームワークいろいろ” の続きを読む

MySQL 日付の加算

MySQL の日付演算のお話。

MySQL では DATE_ADD() 関数で日付の加算ができます。

同じように DATE_SUB() 関数で日付の減算ができます。が。こっちはあんまり使いません。

MySQL 4.1 リファレンスマニュアル :: 6.3.4 日付と時刻関数

現在から 10 日後の日付を取得する

> SELECT DATE_ADD( now(), interval 10 day )

ってな感じで使います。

これが

> SELECT now() + interval 10 day

とも書ける事が判明。
“MySQL 日付の加算” の続きを読む