CakePHP の開発を簡単にする 5 つの Tips
“開発を便利にする5つのTips” フォーラム – CakePHP Users in Japan で紹介されていた記事です。
Make your life easier with these five CakePHP Quicktips ? Debuggable Ltd
1. prd という便利な関数を作成する
pr($someVar); die;
というコードをよく書くなら prd という関数を作ってしまえば、もっと楽できますね。
function prd($var) { pr($var); die; }
2. メール送信のデバッグ方法
Email コンポーネントを使用しているならデバッグモードが使用できます。
$this->Email->delivery = 'debug'; // debug モードにする $this->Email->send(); // メール送信 prd($this->Session->read('Message.email')); // メール送信内容を表示する
Email コンポーネントでは delivery プロパティに ‘debug’ をセットするとセションに送信するメールの内容(ヘッダ、件名、本文など)を pre タグではさんでセットしてくれます。
3. エレメントを積極的に使用する
他のコントローラ用のビューもエレメントとして使用できる。
例えば /views/post/view.ctp をエレメントとして使用したい場合は下記のように指定できます。
echo $this->element('../post/view');
element メソッドは renderElement でもかまいません。値を渡したい場合は下記のようにも書けます。
<?php foreach ($posts as $i => $post): ?> <?php echo $this->element('../posts/view', array('post' => $post, 'forIndex' => true, 'excerpt' => false)); ?> <?php endforeach; ?>
4. ページタイトルをビューで指定する
ページタイトルをコントローラで指定するのではなくビューで指定する。
$this->pageTitle = 'ページタイトル';
h1 タグとページタイトルを同じにする場合は下記のように書けば一石二鳥です。
<h1><?php echo $this->pageTitle = 'ページタイトル'; ?></h1>
5. 長い配列を避ける
メソッドで長い配列を定義するのは醜いので、デフォルト値と変更する値をマージして返す配列作成用のメソッドを作成する。
function setup($settings = array()) { $defaults = array( 'assocs' => array( 'types' => array('belongsTo', 'hasOne', 'hasMany', 'hasAndBelongsToMany') ), 'queries' => array( 'filters' => array(), 'associated' => true, 'describe' => false ), 'schema' => array(), 'log_sql_table' => 'logs' ); $this->settings = am($defaults, $settings); }
関連する投稿
One comment
コメントをどうぞ
Additional comments powered by BackType
2boasting…
…