PHP Advent Calendar 2012の4日目を担当します@mawatarinです。前日は@wa_teradaさんでした。内容は、CakePHPのbootstrap.phpとcore.phpの翻訳です。しかも全訳!大変、有り難いですねー。 bootstrap.php と core.php を詳しく見てみる。(bootstrap.php編)bootstrap.php と core.php を詳しく見てみる。(core.php 編)さて、今日もCakePHPネタです。過去のAdventCalendarでも、取り上げられたことのあるネタですが、その辺は気にせずに、CakeDCのSearchプラグインを使って、CakePHP製のWebアプリに簡単に検索機能を実装する方法をまとめました。目的毎に章立てしておりますので、チュートリアルとして、使っていただけると思います。 都合上、ソースコード
Posted on: 2012/03/30 CakePHP 検索プラグイン「Search Plugin」の検索条件サンプルいろいろ 言わずと知れたCakePHPの検索プラグイン「Search Plugin」 高度な検索機能はもちろんのこと、検索結果にもページネーションを引き継いでくれる便利なプラグインです。 「これは入れとくべし!」なプラインのひとつですね。 CakeDC / search ということで、検索条件サンプルをいくつか載せておきたいと思います。 1. 特定フィールドの部分一致検索 2. 複数フィールドの絞り込み検索 3. アソシエーションテーブルのフィールドの検索 4. クエリー検索(OR検索) 5. アソシエーションテーブルのフィールドを含むクエリー検索 プラグインのインストール CakeDC / search からプラグインをダウンロードします。 ※CakePHPのバージョ
メモ。 まぁ、なんだ。 ログインまわりって、すごい面倒だよね。 セキュリティに関わる問題がけっこうあって、例えば自動ログイン機能をつけるだけでも色々とコードを書かなくちゃならない。 トークンを発行するだけでも、 例えばユーザーIDと有効期限を引数として受けとって、内部でトークン発行して、DBに挿入、トークンを戻り値として返してもらったり。 トークンが衝突した時の処理なんかも書かなくちゃならない。 もちろんこれだけじゃダメダメなので、 セッションタイムアウトしたら、古い認証トークン破棄して、新しいの作ったり、明示的にログアウトした時の処理とか色々ゴリゴリ書かなくちゃね。 単純だけど、書くのはめんどい。ダルいね。 そこで、そんな面倒な処理を全部引き受けてくれるのが、CakeDC謹製のusersプラグインだ。 https://github.com/CakeDC/users なんと、 仮登録メール
最近、はてブを眺めていたら、面白いツールを紹介されていましたので、早速CakePHPで使ってみた、というレポートです。 これは面白い!! 自分の組んだPHPプログラムが、本当に丸裸。どこがボトルネックになっているか、一目瞭然です。 というわけで、早速ですがCakePHPも、このツールで解析してみることにしましょう。 とりあえず簡単に手順をまとめておきます。 環境によって適用方法が異なると思いますので、その辺は良きに計らってください。 1:xprofのインストール xhprofはpeclのプロジェクトです。 peclツールを使って自動インストールすることも出来るみたいなのですが、当方の環境ではphpizeでエラーが出るため、マニュアルインストールしました。 ▼pecl : xhprof http://pecl.php.net/package/xhprof コンパイル及びインストール方法は次の
しばらくインフラ仕事が多かったが、コードに復帰。 途中になっていたCakePHPのお勉強に戻ろう。少し離れていたら、Cakeのバージョンが1.3.8に上がっていたので、改めてそれを使うことにする。 これまで、MySQLでサンプルを作っていたが、ポータビリティーの点で若干不便なのでsqlite3を使おうと思う。 と思ったら、素のままのCakeだとsqlite3は使えないらしい。こちらのサイト(感謝)を参考にして、使えるようにした。 まず、githubにあるcakephp_datasourceのサイトから、dboをダウンロードする。ダウンロードボタンが見えずらいが、下の青で囲んだところ。 ダウンロードボタンをクリックすると、下の画面が出てくるので、圧縮形式を選んでダウンロードする。 展開したモジュールは、/app/models/datasourcesに配置する。 接続するためのコードは、/ap
会社でCakePHPをいじっていたとき、 https://github.com/cakephp/datasources こちらのデータソースにてSQLite3でデータベースを構築してみたら dbo_sqlite3.phpの534行目でエラーが出まくる。 その行を見てみると、 $last = stripos($querystring, 'FROM'); などと書いてある。 これが含まれるメソッドresultSetは、発行されたクエリをパースしてフィールド名をマッピングするものなのだけど、 SELECTから、FROMまでの間の文字列をぶっこぬいてきて、explode関数でカンマで区切る、というもの。 つまり、フィールド名に、「FROM」が含まれている場合(例.email_fromとか) その文字までしか取得されないのでフィールドが途中までしか取得出来なかったりする。 対策方法は、 $last
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く