BlogCakePHPを中心としたサイト開発情報をメインに公開。新しもの好きなので時々製品レポートなんかも。(木)【CakePHP】schema.phpがらみでチケットああ~、時間がないというのにチケット投げてしまった...orz前々から気になっていたのですが、放置しておくのもアレなのでチケット投げました。callbacks一つ目は、after()コールバックにエラーが絶対に入らない不具合。スペルミスだっただけですけど...もう一つのチケット書いている間に、markが既に対応してくれている???もう一つの方は、schema.php内に書いたプロパティは、根こそぎテーブルとして扱われてしまうため、そうじゃないパラメータが一切持てないことに対する要望。こんなチケットを投げたかというと、schema.phpで「テーブルの初期値がこの中で書ければ、メンテナンスがと~っても楽になるよ~」という訳なんですよ。時間ができたときに詳しく書くと思いますが、現状ではschema.php内でこれを実現することは不可能なので、「定数を持つクラス」をschema.phpで呼び出すという荒技で対応することができたりしますので、それでごまかしています。仮に採用されたとして、1.3からですかねぇ、schema.phpにいろいろと書けるようになるのは。はー、時間かけ過ぎてしまった。【追記】(2009/08/22)「必ずエラーを送らない」バグについては先ほどfixedされた模様です。直るの超早いよ(笑)。エントリで話題が出て、チケットも投げてみたのですが、invalidになってしまったのでちょっと記事として書いておきますね。簡単に書きますと、複数の「beforeRedirectを持ったコンポーネント」をコントローラ内に設置してredirectを呼んだ場合、urlを含む各パラメータが「一番最後に呼ばれたbeforeRedirectの値」になってしまうという問題があります。Libraryを設置し、もしiMODE端末でアクセスされた場合にsidをくっつけるとして、他のbeforeRedirectを含むコンポーネントを設置した場合、場合によってはセッションが切れてしまう問題が発生してしまうのです。オフィシャルの見解として、1.2ではそのようなパターンは想定外とのことで、1.3に向けての拡張として提案して欲しい、ということでした。Libraryとしては不具合の発生しそうな方法をとることが出来ませんから、今回のapp_controllerで対応したことに関しては結果として良かったと思います。まあ今回分かったことは、1.2でbeforeRedirectを使う場合は少し注意がいる、ということですね。案件でチケットを出したついでにその前に出したチケットのことを思い出したので探してみたのですが、どうやら現在対処中のようです。words.」https://trac.cakephp.org/ticket/6104なんかつい2週間前からの出来事のようですが、これで自分の報告が形になってくれると嬉しいですね。