実行前の生SQL文を取得するプレースホルダを使ったSQLは実行後のクエリログを参照すれば実際に流したSQLの全文が取得できますが、実行前はそうもいきません。いう時どうするかと考えた結果です。JSONレスポンスで日本語をエンコードをさせないPHPのjson_encode()関数はデフォルトでマルチバイトUnicode文字を\uXXXXにエンコードします。{"message":"\u308f\u3051\u304c\u308f\u304b\u3089\u306a\u3044\u3088"}これによって読みづらくなる上に、データ量が増加してしまうばかりでメリットは薄いです。CakePHPでJsonViewを使う場合にどうやって設定するかのメモ。CakePHP3.5で確認。次に来る◯時(5時とか)のタイムスタンプが欲しい時ありますよね?色々方法はあると思いますが、なんだかんだで日をまたぐと煩雑になりがち。いうことでstrtotime()を使ってシンプルに片付けたのでメモ。キーを維持したまま配列をシャッフルするシンプルな方法PHPのshuffle()ってホラ、あれですよね?キーを張り替えて混ぜてるから、キーが連番で振り直されちゃうっていう。キーを維持したまま混ぜたい時もあるんで、ashuffle()とかは無いし、どうするよって思ってやってみたら1行で実現できたのでメモ。CGIに渡すREQUEST_URIを書き換えるNginxの設定において、実際にリクエストされたURLを書き換えて、CGIで使うサーバ変数のREQUEST_URIに渡したい時があったのでメモ。strtotime関数でいろいろ試してみた基準が現在じゃないときは結構使えそう。PHP5.3.8をCentOS6でbuildconfしたらすんなりいかなかった件PHP5.3.8をCentOS6(GMOクラウドの仮想サーバ)でをPECL拡張を入れるため自前コンパイルしようとbuildconfしたらすんなり行かなかったので、ちょこっとメモ。しつこいSecurityコンポーネントをゆるくするSecurityコンポーネントで管理者ページだけBASIC認証をかけようと思ったのでAppControllerで読み込ませたところ、ユーザページのフォームでトークン発行や項目チェックがしつこく掛かってしまい、いろいろ取り回しがしづらくて困ったので、状況を打破してみた。指定した複数のキーのいずれかに値が入っているか検査するSet::filterを使っているので、CakePHP限定のお手軽技。複数の特定キーのいずれかに対してNULL以外の値が代入されているかを1文でチェックします。年別あるいは年月別に対応するSQL条件式を生成するMTのブログなどではよく月別、年別で記事アーカイブのインデックスをディレクトリ(例:/post/2010/12/)で分けていると思いますが、それと同様に対応する簡単な方法。今頃CakePHP1.2RC2で検証。