CakePHPで制作中のアプリケーションで設定をデータベースに保存する処理を書いていたのですが、「"アプリケーションの設定の保存方法" フォーラム - CakePHP Users in Japan」経由で簡単な方法があることを知りました。
CakePHPでアプリケーションを作成する場合、注意しておかないと外部から容易にデータを改竄できるアプリケーションができあがってしまいます。この問題はCakePHPガイドブックにも書かれています。
PHPにはコールバック関数を受け入れるためのcallbackという擬似的な型があります(PHP: 本ドキュメントにおける疑似的な型および変数 - Manual)。コールバック関数を引数にとる関数を定義するにはどうしたらよいかというと、通常の関数と同じように定義するだけです。
array_map()などのコールバック関数を引数にとる関数にメソッドを指定したい場合、PHPではどんな風に書けばよいかわからなかったので調べてみました。
CakePHPのURIは、通常、コントローラ名/アクション名/パラメータという形になりますが、実際には、コントローラ名/アクション名/パラメータとコントローラ名/アクション名/パラメータ/のどちらでも同じようにアクセスできます。とても気持ち悪いので一つのURIに統一するようにしています。