2012-02-29 9 views
8

私はちょうどCakePHPから始まり、誰かがJsHelperを通常の静的なjQueryとJSをコーディングすることよりも本当のメリットを説明できるかどうか疑問に思っていました。これまでのところ、ヘルパーがスクリプトの作成をより簡単に、より速く行う方法を実際には分かりません。なぜCakePHPのJsHelperを使うのですか?

+0

+1私は必要性も決して理解していないからです。 :) – deceze

+0

私と同じこと:-) – nIcO

答えて

4

基本的な考え方は、アプリケーションの残りの部分と同じ言語(この場合はphp)を使用でき、任意のphpオプションの配列と配列を渡すことができるということですデータ値を保持し、ヘルパーはそれをケーキすることになっています。

これは、PHPのラッパーとしてcakephpに似ています。それはあなたのコードを包んで、それを乾燥させておくのを助けることができます。

私は間違っていません - 私はこれまでjs/ajaxヘルパーを自分で使ったことはありません。 しかし、私は自分自身でJSを書くよりもそれを選ぶ理由を理解することができます。 (場合によっては、潜在的な問題についてわからない場合)出力がさらに「正しい」こともあります。たとえば、IEのバグ: あなたが{}オプションを自分で出力して、最後のものを削除するのを忘れると、IE6などでは実行されませんが、ヘルパーはラッパーとしては実行できません。それでヘルパーと一緒に、それは全く動かないか、うまく動作するように設計された熟練した開発者のチームとして走ります。 特にこれほど熟練していない開発者にとっては、これは通常、Win-Winの状況です。実際のJS出力が表示され、それを理解し始めると、いつでも後から手動で作業に切り替えることができます。

また、何らかの理由でjsメソッドのいずれかを変更する必要がある場合、ヘルパーを使用する方法は通常ありません。抽象化を使用しない場合、すべての発生を手動で調整する必要があるかもしれません。

0

JsHelperは、他のヘルパーと同様に、単純な方法でビューの内容を解析する方法です。しかし、あなたのビューに "生の" JS/jQueryコードを入れることは、例えば$this->Html->scriptBlockを使ってうまくいくでしょう。

jQueryが特定の関数の構文を変更した場合、JsHelperを使用する際にコードを調整する必要はありません。すべての視点で「生の」JSコードをすべて変更する必要はありません。

0

JsHelperはスキャフォールドのようなものです。基本的なものだけが必要な場合は非常に便利です。つまり、ページ区切りまたはいくつかの要素を付与する。

しかしそれ以外にも、独自のコードを書く方がいいです。なぜなら、ヘルパーがどのようにデフォルトで整列されるかではなく、必要なときに必要となるからです。

フレームワークの他のすべてと同じように、それはツールです。要件を確認し、利用可能な最良のツールを使用してください。

関連する問題