PHP

CakePHP

[CakePHPプラグイン]BoostCake

レスポンシブサイトの構築に便利なCSSフレームワークのBootStrapプラグイン、BoostCake の紹介です。 特にこれを入れなくてもViewで指定すれば使うことは可能ですが、ヘルパーのラッパーがあるので少し便利になります。 インスト...
CakePHP

[CakePHPプラグイン]DebugKit

CakePHPのよく使うプラグインの紹介です 今回は、超定番のDebugKitについて。これが無くては開発は始まりません。 CakePHPをインストールした直後の画面でも”DebugKitが入ってないよ!”とメッセージが出るぐらいです。(そ...
CakePHP

[CakePHP]basercms3を使ってみた

CakePHPで作成されたCMSを調査していた時に気になっていたbasercmsがバージョンアップして、basercms3となっていたのでちょっとインストールして調査してみた。 昔、basercmsとbasercms2をインストールして一通...
CakePHP

[CakePHP1.2]id以外のカラムでアソシエーション

id以外のカラムでアソシエーションしたい場合。 こんな感じで一時的にprimaryKeyを変更する。 $this->{model}->primaryKey->='hoge_id'; 使い終わったら戻しておきましょう。 $this->{mod...
CakePHP

[cakephp1.2]validatesチェック後にデータを読み込むとエラーメッセージがリセットされる

$this->{model}->set($this->data); $this->{model}->validates(); $this->{model}->read(null,1); などとして、ヴァリデーションチェック後に読み込みを行う...
CakePHP

[CakePHP2.x]レプリケーション環境での保存先変更

レプリケーション環境下でマスター、スレーブ環境の切り替えを 行うAPI 設定 database.phpにマスターとスレーブの接続設定を書く ルールはスレーブ用の設定名の後ろに_master を付けた マスター用の設定を記述する 例) $de...
CakePHP

[CakePHP2.x]DebugKitとキャッシュのPermission denied問題について

CakePHP2.xのあるバージョンからやたらとキャッシュに関する問題が多発しているように思われます。 対処法としては、以下の2ファイルにマスクの設定を追記してあげるのが良いようです。 //app/Config/core.php Cache...
CakePHP

[CakePHP2.x]Minify plugin for CakePHP

CSSやJSファイルをまとめて軽量化してくれるプラグイン。 いいね!今度試してみよう。
CakePHP

[cakephp1.2]htmlヘルパーのリンクで改行付のアラートを出す場合の注意点

cakephp1.2でアラート付の下記のようなリンクを作成したが、なぜかアラートが表示されなかった。 echo $html->link('TEST',array('action'=>'test'),array(),"ほげほげ\nテスト?")...
CakePHP

[cakephp2]render結果をコントローラーで取得する

render結果をコントローラーで取得する方法 $this->render('viewname','',null); $body=$this->response->body(); メール送信用のデザインをこれで作ると便利ですね。
CakePHP

[candycane]cakephp製redmine互換BTSをインストールしてみよう

プロジェクト管理は多くの開発者やプロジェクトマネージャが困ることの一つです。 バグトラッキングシステムなどは多くの種類があります。backlogやgithub等、有料のものも数多くありますが、フリーなredmineなども有名です。 redm...
CakePHP

[cakePHP2.x]CakePHPでDebugKitを使っていると重い&メモリをバカ食いする件

デバッグをONにして少々重い処理をしていると、メモリ不足やtimeoutが頻発するようになることがあります。 諸悪の根源は履歴キャッシュにあるようです。こんなもの一度も使ったことはありません。すっぱり削除しましょうw public $com...
CakePHP

[cakephp2]debug_kitの表示がおかしい場合

debug_kitは非常に使いやすいプラグインだと思うのですが、たまに不具合もあるようです。 別のサーバーに作ったアプリをインストールしてテストしていたのですが、なぜかセッションがうまく引き継がれません。 いろいろ調べるためにdebug_k...
CakePHP

[cakephp2]アプリケーションを複数設置してAPCを用いている場合の注意

意外と気が付かない点。 APCをつかってcakephp2のアプリケーションを複数サーバーに設置している場合。 設定を一部ダブらないようにした方がいいようです。 core.php //APCを使う場合の設定例 Configure::write...
CakePHP

[Cakephp2]Cake plus の罠

Cake plus は大変便利なプラグインです。 フォームデータをhiddenで引き継ぐのは、いちいちhiddenメソッドを書かなくてはいけないため非常に面倒ですが、このプラグインを使うと $this->FormHidden->hidden...
CakePHP

[cakephp2.x]セッションの保存先をDBするときにハマった件

表題の件。 cakephp2でセッションの保存先をDBにする場合。 core.phpでSessionの設定を下記に変更して Configure::write('Session', array( //'defaults' => 'php' '...
CakePHP

[cakephp2]外部ファイル更新時のキャッシュについて

css等を更新したときに、名前を変えないとキャッシュが効いてしまって変更が有効にならない場合、 以前の記事でSVNのバージョン番号を付与するように改造するといいという記事を書きました。 しかし、実はもっといい方法が用意されていました。 co...
CakePHP

[cakephp2.x]APC利用時のan internal error has occurredエラーについて

cakephp利用時にan internal error has occurred.が出てしまうことが まれにあります。 困ったことに、このエラー、根本的な原因がわからないことが多い。 たいていの場合はキャッシュとモデル(テーブル)の問題で...
CakePHP

[cakephp2]modelのソートでrand()を使う場合の注意

たとえば、ランダムにデータを取得したい場合。 $this->(model)->find('list',array('order'=>array('rand()'))); とするとSQLでは ... rand() ASC ... などとなって...
CakePHP

[CakePHP2.x]adminルーティング時のリンク指定

adminルーティングした場合にリンク等でURLを指定したい場合。パラメータをどうしたらいいかわからず詰まってしまった。 まぁ、'/admin/hoges/action'といった感じで指定してもいいのですが、配列で指定する場合は下記のように...