CakePHP
一昨日にOR検索のほうは修正したばかりですが、CakeDCのsearch pluginの記事が少ないので1個置いときますね。CakePHP Advent Calendar 2010 8日目 - kanonjiの日記のコードに機能追加しました。色々な検索の方法の中に、HABTMの検索が書いてありますが、これ…
CakeDCのsearch pluginの記事が少ないので1個置いときますね。CakePHP Advent Calendar 2010 8日目 - kanonjiの日記のコードをちょっとだけ直しました。タグ検索などを実装するHABTMの検索で、プラグインのReadme.mdにはあったContainableビヘイビアを使わな…
DboSource::expression() というメソッドを見かけて、ちょっと気になったので調べてみました。自分としてはもっと魔法のメソッド的な便利なのだったらいいなーとか思ってたんですが、残念ながらそうでは無いみたい。でも折角調べたのでエントリーにしておき…
CakePHPではHtmlHelper::script()を使いJavaScriptファイルを読み込むscriptタグを生成します。これはこれで使うんですが、jQueryプラグインを使う場合は、ロード完了のコールバックで動かしたいところです。また、内部に置いてあるJSONとか画像とかを読み込…
setlocale()でロケールを設定する必要が出たので、CakePHPのl10nと連動させようとしてます。ただ、残念な事にl10nとsetlocale()が上手くかみ合わず行き詰まりました。 とりあえずの結論 l10nからは'ja'か'jpn'が取得できます。setlocale()でロケールを日本語…
CakePHPの l10n のソースを読んでたら、もしかしたらこれってバグ?ってのがありました。バグなら報告したいところなんですが、いざしようと思ったらどういう手順を踏めば良いのかわからず。もしかしたらそういう仕様なのかもしれない、曖昧なものという事も…
./cake -app /path/to/app/to/put bake [project]新しくCakePHPアプリを作る際、appディレクトリをコピーせずに、bakeで作成しています。app_controller.php や app_model.php などを作成してくれますし、APP/config/core.php の Security.salt と Security.…
MAMP上で開発してるCakePHPベースのアプリで、リロードすると読み込みが早くなる場合がありました。CakePHPのキャッシュの仕組みをちゃんと把握してなかったので、デフォルトで何か動いてるのかとか、もしくはMySQL側の方かとちょっと調べてみました。特に最…
CakePHP 1.2の事は分かりませんが、1.3系ではHtmlHelperでJavaScriptをViewテンプレートに書いていきます。scriptタグを書いても良いのかもしれませんが、HtmlHelperを使って書いたらスクリプトをバッファに貯めておいて にまとめて出力してくれます。まぁ折…
CakePHP Advent Calendar 2010 8日目 http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&topic_id=2510&forum=16CakePHP Advent Calendar 2010の順番が回ってきました。8日目のkanonjiです。最近立て込んでいたので、実はみんなの記事を今日読み…
CakePHPのバリデーションは、基本的にデータベースへ格納する直前にするもので、コントローラーに処理が入るところでのチェックが気になっていました。 ブラウザから受け取った値をバイナリセーフじゃない関数で処理すれば、NULLバイトアタックを受けたりす…
CakePHP 1.3.0から少し変わった Prefix Routing で、管理画面や携帯サイトなど、ディレクトリで分けた別サイトっぽく出来ます。 ただ、同じController/Modelクラスを使うし、config系も共有しています。 実態としては同じサイトの一部という感じです。 そこ…
CakePHP の HtmlHelper は、名前の通り html を生成します。 Baker暦の浅い自分は、何で html を普通に書かずわざわざHelperを介するのか、よく分からなかったりします。 でも、組み込みだし、どうも CakePHP 関連の情報を調べてると、HtmlHelper は使うのが…
プラグインを拡張する方法(how to extend a plugin) - cakephperの日記(CakePHP, Laravel, PHP) の @cakephper さんの cakeplus plugin です。 CakePHPでの開発で良く使う機能をいくつかまとめたプラグインの様で、ちょっと具体的に何が出来るのか分からなか…
CakePHP 1.3.0からPrefix Routingの設定方法が若干変わりました。 CakePHP 1.2系は使ったことが無いので良く知りませんが、1行で複数のPrefixを設定できるようになったようです。 さて、Bake で View や Controller を焼こうとすると「Would you like to cre…
CakePHP 1.3.0から、AjaxHelperとJavascriptHelperが非推奨になり、JsHelperとHtmlHelperを使うように変更になりました。 ライブラリの.jsファイルの読み込みは HtmlHelper->script() を使いますが、Google AJAX Libraries APIから読み込む方法がCookbookに…
プルダウンやラジオボタン、チェックボックスと、テキスト入力を組み合わせた、ちょっと複雑な検索画面を作っている時にはまりました。 ほとんど、フォームの入力値をAND検索するだけだったのでpostConditions()を使って作ってました。 検索画面なのでGETメ…
CSVをデータソースとして扱えるようにする CsvSource というプラグインがあります。 コントローラーの $uses にCSVを使うモデルを設定したら、Bake で View を焼く際にエラーが出るようになってしまいました。 CsvSource とは http://github.com/cakephp/dat…
CakePHP 1.3.0 での Bake の動きを調べてみました。 Cookbook って cake コンソールや Bake について、あんまり書いてないんですよね。 Bakeは色々と機能があるようなので、まずは最初のアプリケーションのセットアップと、データベース設定について、 bake …
CakePHP 1.3.0 を学習中に、もしかしたらバグかも?というのにはまったので、ブログに書いて誰かのアドバイスを期待しようという記事です。 バグっぽいなぁと思いつつも、CakePHPは最近はじめたばかりで、これがバグなのか、自分が何かを間違えてるのか*1ち…