php

OpenIdの依存関係

php

phpのextension、dom が必要らしい。これで5hぐらい持ってかれた・・・。 phpのOpenIdのライブラリを一番外からデバッグ、結局xdebugで中断できるようにしてからはわずか30分ほどで解決までたどり着いたよ。やっぱりデバッガは必須だな。

php -a

php

http://www.php.net/manual/ja/features.commandline.interactive.phpphpと対話できるようです。正規表現のチェックや出力フォーマットのチェックなど、関数の挙動確認とか、環境のチェックとかに使えそうです。

複数のテーブルをまたぐ抽出条件

こうやってカテゴリーが増えていくんですね。 最近cakeばっかりです。超一流のプログラマーをwizardと言ったり言わなかったりするそうですが、cakeを極めるとパティシエと呼ばれるんでしょうかね? さて、cakePHPのfindのお話。 conditionsに色々と抽出条件…

ちょっと残念なところ

PHP

今の会社はPGさんの質がいいのか、残念なコードが少ないように見えたがやっぱりあった。一年足らずのcakePHP経験でガッツリ突っ込めるコードを発見。まー見つけたのはcakePHPの練習に使われてたプロジェクトのコードなので、あんまり酷く言えないところはあ…

cakePHPのモデルでフラグをどう扱うか

php

最近のポリシーとして、モデルの中で定数とか、staticな変数とかで定義することにしている。こんな感じで。 '社員', self::EMPLOYEE_FLG_OTHER => 'その他' )…

cakePHPのformヘルパーで

PHP

いろいろと便利なヘルパーですが、画面に表示する事もあってかなりニッチな要望もあるわけです。 今日来たのは日付の区切りの「-」を消してほしいというもの。 解説書とか、サイトで見つかりそうになかったので、form.phpを読むことに。で、調べてみるとやっ…

ショートタグ

php

phpのコードをで書けるようになるアレです。問題として挙げられるのは、設定で有効・無効が切り替えられる=無効だったらコードダダ漏れってこと。だったらスクリプトの先頭で明示的に有効にしてやってもいいんじゃないか?なんて思う。 確実なのはショートタグ…

cakePHPで部分一致検索

php

サンプルを探してみると $this->find("all",array("conditions" => array("name like" => "%hogehoge%")));ってなってる。 フォームの受け取りデータで部分一致とすると $this->find("all",array("conditions" => array("name like" => "%".$name."%")));こ…

実行環境を識別させる

php

開発とか本番とかでDBの設定が違ったりってのは普通にあること。で、定数の設定ファイルが環境ごとに用意されたりて、必要なものをコピーするなりincludeするなりして利用する。というのがよくある運用かなーと思ってますが、これって設定ミスが結構出るんで…

cakePHPでエラーが発生したとき

php

例えば存在しないコントローラーなんかをcallしたときにエラー画面が表示されて、処理中断ってなるけど、ログが出ない。追っかけてみたら。cakeErrorの中にログを書くなんてやってなかった。さすがにあんまりなので。app_error.phpにログ出力を追加してみた…

cakePHPのデバックレベルを環境ごとに切り替える

php

app/config/core.phpのdebugレベルの設定のところを Configure::write('debug', (isset($_ENV["cakeDebugLevel"]) ? $_ENV["cakeDebugLevel"] : 0));ってやって、開発用マシンの環境変数に cakeDebugLevel=2と、やっとくと、開発時のコードをそのまま本番に…