为什么使用CakePHP's JsHelper
Why use CakePHP's JsHelper?
我刚开始使用CakePHP,想知道是否有人能解释使用它的JsHelper相对于编码常规静态jQuery和JS的真正好处。到目前为止,我还没有真正看到这个助手如何使创建脚本变得更容易或更快。
原因与我编写GoogleMaps Helper的原因相同;)基本思想是,您可以使用与应用程序其他部分相同的语言(在本例中为php),并且您可以传入任何php选项数组和包含数据值的数组,助手应该负责处理这些数组。
它类似于作为php包装器的cakephp。它可以包裹你的代码,并有助于保持它的干燥。
不要误解我的意思——我自己从来没有使用过js/ajax助手。但我能理解为什么有些人选择它而不是自己写JS。在某些情况下,输出甚至可能更"正确"(如果您不知道潜在的问题)。例如IE错误:如果您自己输出{}个选项,但忘记删除最后一个选项,它将不会在IE6等中运行。这在使用helpers作为包装器时是不可能发生的——至少它应该;)
因此,有了helper,它要么根本不运行,要么由熟练的开发人员团队设计运行。尤其是对于不太熟练的开发人员来说,这通常是一个双赢的局面:快速且更可靠。以后您总是可以开始切换到手动内容(如果您看到实际的JS输出并开始理解它)。
此外,当任何js方法由于某种原因需要更改时,您使用helper的方式通常不会更改。如果您不使用抽象,您可能会发现自己需要手动调整所有出现的情况。
$this->Html->scriptBlock
就可以了。
我想不出什么真正的好处,除了如果jQuery会更改特定函数的语法,那么在使用JsHelper时就不需要调整代码,因为核心需要实现更新,而不必在所有视图中更改所有"原始"JS代码。
JsHelper就像脚手架:如果你只需要基本的东西,而且只需要基本东西,它会非常方便。也就是说,对一个分页或某些元素进行AJAX。但除此之外,最好编写自己的代码,因为你需要的是你需要的东西,而不是默认情况下如何对齐助手。
就像框架中的其他一切一样:它是一种工具。检查您的需求并使用可用的最佳工具。
- This.Form.Submit() on CakePHP
- AJAX调用后使用JavaScript处理数据(CakePHP 2.6.x)
- CakePHP错误:在非对象上调用成员函数get(),使用cakejavascript助手时出错
- 如何读取字段值 Cakephp 2 / Javascript
- Cakephp 3.1 Javascript
- 如何在 Cakephp 2 中注册后发送邮件确认
- CakePHP 和 Lightview JQuery 插件:增量视图计数
- Cakephp 访问不在模型数据数组上的输入
- 点击 Cakephp html 输入
- CakePHP and ViewerJS
- 在cakephp中使用ajax加载画廊
- CakePHP省略了发送输入字段并更改onSubmit的输入值
- 在CakePHP中测试JavaScript
- 在ajax分页视图(cakephp)中显示adsense的问题
- Black Holed Request Cakephp
- 使用CakePHP生成Javascript视图块
- Jshelper cakephp 没有从元素获取数据
- 为什么使用CakePHP's JsHelper
- Cakephp, JsHelper调用一个javascript函数"更新"
- Cakephp 2.4.6 JsHelper / Ajax的“id”没有定义