私はちょうどCakePHPから始まり、誰かがJsHelperを通常の静的なjQueryとJSをコーディングすることよりも本当のメリットを説明できるかどうか疑問に思っていました。これまでのところ、ヘルパーがスクリプトの作成をより簡単に、より速く行う方法を実際には分かりません。なぜCakePHPのJsHelperを使うのですか?
答えて
基本的な考え方は、アプリケーションの残りの部分と同じ言語(この場合はphp)を使用でき、任意のphpオプションの配列と配列を渡すことができるということですデータ値を保持し、ヘルパーはそれをケーキすることになっています。
これは、PHPのラッパーとしてcakephpに似ています。それはあなたのコードを包んで、それを乾燥させておくのを助けることができます。
私は間違っていません - 私はこれまでjs/ajaxヘルパーを自分で使ったことはありません。 しかし、私は自分自身でJSを書くよりもそれを選ぶ理由を理解することができます。 (場合によっては、潜在的な問題についてわからない場合)出力がさらに「正しい」こともあります。たとえば、IEのバグ: あなたが{}オプションを自分で出力して、最後のものを削除するのを忘れると、IE6などでは実行されませんが、ヘルパーはラッパーとしては実行できません。それでヘルパーと一緒に、それは全く動かないか、うまく動作するように設計された熟練した開発者のチームとして走ります。 特にこれほど熟練していない開発者にとっては、これは通常、Win-Winの状況です。実際のJS出力が表示され、それを理解し始めると、いつでも後から手動で作業に切り替えることができます。
また、何らかの理由でjsメソッドのいずれかを変更する必要がある場合、ヘルパーを使用する方法は通常ありません。抽象化を使用しない場合、すべての発生を手動で調整する必要があるかもしれません。
JsHelperは、他のヘルパーと同様に、単純な方法でビューの内容を解析する方法です。しかし、あなたのビューに "生の" JS/jQueryコードを入れることは、例えば$this->Html->scriptBlock
を使ってうまくいくでしょう。
jQueryが特定の関数の構文を変更した場合、JsHelperを使用する際にコードを調整する必要はありません。すべての視点で「生の」JSコードをすべて変更する必要はありません。
JsHelperはスキャフォールドのようなものです。基本的なものだけが必要な場合は非常に便利です。つまり、ページ区切りまたはいくつかの要素を付与する。
しかしそれ以外にも、独自のコードを書く方がいいです。なぜなら、ヘルパーがどのようにデフォルトで整列されるかではなく、必要なときに必要となるからです。
フレームワークの他のすべてと同じように、それはツールです。要件を確認し、利用可能な最良のツールを使用してください。
- 1. cakephp jshelper chained select
- 2. CakePHPのJsHelperでselectboxの値を取得
- 3. なぜCakePHP 2.0でAppControllerを使用していないのですか?
- 4. jQueryの統合にJsHelperを使用する理由
- 5. は、CakePHP - JsHelperは::イベントが返されます、私はクックブックの同じコードを使用して、私のアプリにJsHelper ::イベントメソッドを使用しようとしています
- 6. cakephpコアにPostFixtureがあるのはなぜですか?
- 7. CakePHP認証コンポーネントがパスワードをハッシュしないのはなぜですか?
- 8. CakePHP 1.3 Paginationが私の注文を無視するのはなぜですか?
- 9. Cakephp 2.8なぜ私のsearch_between関数が警告を出すのですか?
- 10. CakePHPで検証エラーが表示されないのはなぜですか?
- 11. なぜそしてどのような目的は、CakePHPでこの<?= ?>構文を使用
- 12. 私のブートストラップテンプレートでgitを使うのはなぜですか?
- 13. なぜJava Webサービスでwsdlでxsdを使うのですか
- 14. CakePHP:検証エラーが表示されないのはなぜですか?
- 15. CakePHP 2 - モデル関数でSQLエラーが発生するのはなぜですか?
- 16. ノードがCPUの100%を使うのはなぜですか?
- 17. Kubernetes、Docker、MesosでConsulを使うのはなぜですか?
- 18. なぜself.ransackable_attributesメソッドで `super`を使うのですか? (レール)
- 19. いつ、なぜjsfで逐語を使うのですか?
- 20. なぜプロジェクトで 'assert'を使うのですか?
- 21. なぜマクロ定義でdo()while(0)を使うのですか?
- 22. CakePHPのroutes.phpオーバーヘッドはどうですか?
- 23. なぜGitHubのような私的リポジトリを使うのですか?
- 24. "[] Server"のようなキーをsortedDictionaryに使うのはなぜですか?
- 25. 別のサーバから移行する:なぜCakePHPのショーのページが見つからないのですか?
- 26. returnを使うときにpthread_exit()を使うのはなぜですか?
- 27. どこでBitSetを使うのですか?なぜそれをJavaで使うのですか?
- 28. なぜJavascriptで配列のようなオブジェクトを使用するのですか?
- 29. なぜCakePHPの設定ファイルに "language"という名前のフィールドがあるのですか
- 30. なぜ人々は `Module.send(:prepend、...)`を使うのですか?
+1私は必要性も決して理解していないからです。 :) – deceze
私と同じこと:-) – nIcO