CakePHP開発のhelpers
1997 ワード
helperはその名の通りヘルプクラスであり、主にビュービュービュー層に用いられる.
CakePHPは設計当初から拡張性を十分に考慮しており、viewでは処理が必要で何度も繰り返し使用されるフレームワーク、要素、一部のデータに遭遇することが多い...例えば、グラフ、エディタなどです.
この時、helperが活躍した時です.
CakePHPでは、
helperは一般的にapp/view/helper/ディレクトリの下にあり、もちろんここでは自分で拡張したhelperを指す.
helperは実はクラスライブラリで、彼の名前もCakePHPの関連に従うべきです{
へんけい}法則
Tinymceエディタを導入する一般的なhelperヘルプクラスは、次のとおりです.
OK helperを定義したら
また、対応するコントローラに導入する必要があります.
コントローラの初期化のたびにロードされることを望んでいない場合があります.
対応アクションでは、次のように導入されます.
では、今、viewで使用する必要があります.
これにより、viewでtextareasがエディタにロードされた効果を見ることができます.
CakePHPは設計当初から拡張性を十分に考慮しており、viewでは処理が必要で何度も繰り返し使用されるフレームワーク、要素、一部のデータに遭遇することが多い...例えば、グラフ、エディタなどです.
この時、helperが活躍した時です.
CakePHPでは、
helperは一般的にapp/view/helper/ディレクトリの下にあり、もちろんここでは自分で拡張したhelperを指す.
helperは実はクラスライブラリで、彼の名前もCakePHPの関連に従うべきです{
へんけい}法則
Tinymceエディタを導入する一般的なhelperヘルプクラスは、次のとおりです.
class TinymceHelper extends Helper{
// to do ...
// helpers helper
var $helpers = array('javascript');
// , tiny_mce.js
var $tinymce_url = 'tiny_mce.js';
var $options = array(
'mode' => 'textareas',
'elements' => "NodeBody",
'theme' => 'advanced',
'plugins' =>"..."
);
function init($options = false){
$configs = '';
if(isset($this->javascript))
echo $this->javascript->link($this->tinymce_src);
$this->options = ($options && is_array($options))?array_merge($this->$options, $options):$this->$options;
foreach($this->options as $k=>$v)
$configs .= "$k : \"$v\",
";
return $this->javascript->codeBlock("
tinyMCE.init({
$configs
});
");
}
}
OK helperを定義したら
また、対応するコントローラに導入する必要があります.
// helpers
var $helpers = array('Html','Tinymce');
コントローラの初期化のたびにロードされることを望んでいない場合があります.
対応アクションでは、次のように導入されます.
$this->helpers[] = 'Tinymce';
では、今、viewで使用する必要があります.
//
echo $tinymce->init();
これにより、viewでtextareasがエディタにロードされた効果を見ることができます.