【问题标题】:Is AJAX easier with ZendX_JQuery or with Zend_Dojo?使用 ZendX_JQuery 还是使用 Zend_Dojo,AJAX 更容易吗?
【发布时间】:2011-01-01 19:30:57
【问题描述】:

上下文是我不想使用 Zend MVC - 控制器、帮助器、装饰器等 - 这对于我正在编写的内容来说太过分了。

我浏览了 jQuery 站点插件部分,这些问题最困扰我:

  1. 我必须大量搜索插件 - 这很乏味。
  2. 我必须检查 依赖关系 与 jQuery 版本。谢天谢地,我决定只使用 jQuery,否则 noConflict() 会让我发疯。
  3. 我必须通过控制器、视图等跨 HTML+CSS+JQuery 连接 表单元素的所有 id 和名称
    这一切都是因为没有比 ZendX_JQuery 更比 jQuery 插件更简单的 PHP 包装器了 - 插件是吸引人的脚本和效果的所在。

  4. 编写一个 ZendX_JQuery 的内部替代品 本身就是一项艰巨的任务。但是,如果您必须在 PHP 中包装第三方 jQuery 插件并维护它本身就是全职工作。

所以我想知道 Zend_Dojo 是否比 ZendX_JQuery 容易得多。我在尝试之前询问,因为我必须再花几天时间安装、配置和测试所有标准 Dojo 控件,然后我才能决定。对于一个可能以后发展的相当简单的应用来说,所有这些都是乏味的。

替代方案是一个“jQuery-inside”PHP 小部件库,它是稳定的,可以工作一年而不会被破坏或升级。

类似于 GWT、ZK 或 ASP.Net,您不必为每个页面进行低级 HTML+jQuery 编码和手动调整 ajax 控件和表单元素。

或者我应该完全放弃一个 MVC 框架并用一组自定义脚本替换它在必要时使用 Zend 组件 - 例如 Zend_Validate、Zend_Form 等。 p>

我从事桌面应用程序工作已经有一段时间了,事实证明,切换到 AJAX + MVC + Zend 有点太笨拙了,尤其是考虑到 Zend MVC 中的大量设计模式。

【问题讨论】:

    标签: ajax model-view-controller zend-framework jquery-plugins dojo


    【解决方案1】:

    我同意 Stephen Orr 的观点——我既不使用 jquery 也不使用 dojo(在尝试了两者之后)。我大量使用 Zend_Form 过滤器/装饰器,因为无论如何客户端验证都必须在服务器端重做。使用一些自定义装饰器,您可以在 html/php 中完成所有操作。

    我尽量避免使用 ajax,并在无法避免的地方使用原型/脚本。它们是轻量级的,并提供了在其他 JS 代码中使用的方便快捷方式。

    【讨论】:

      【解决方案2】:

      我的建议是既不使用 ZendX_JQuery 也不使用 Zend_Dojo。从它的声音来看,这对你来说也太过分了。我的想法可能是因为我不喜欢混合 PHP 和 JavaScript 代码,除非绝对必要 - 是的,让组件为你编写 JavaScript 可能更容易,但它永远不会像你可以自己写。

      这样,您还可以保持行为和表示之间的分离 - 这总是一件好事,因为它可以更容易地使用渐进增强的概念。

      【讨论】:

      • 实际上,看过 ASP.Net、TIBCO GI、Rialto、Bindows、GWT、Visual Webgui,我期待 Zend 的 RAD 工具包。但我认为他们故意为 PHP 社区提供创新空间。这是我能看到的唯一解释。要么就是这样,要么我现在对 Zend_Dojo 不太了解,所以称它为 RAD。同时,我确实找到了一些带有商业许可证的 RAD 工具包。我认为 Zend 有充分的理由在使框架如此庞大和强大的同时省略 RAD。
      • 当我第一次开始使用 ZF 时,我最初的抱怨之一是 Zend 如何坐视不管,甚至没有为应用程序提供“推荐的”布局。没有文件结构,没有指导,只是可以一起使用的组件列表。从那时起,他们发布了 Zend_Application 和其他让生活更轻松的部分。我仍然更喜欢 CakePHP,但 ZF 至少对企业友好(这意味着它使用了许多听起来很专业但根本没有多大意义的流行语)。
      猜你喜欢
      • 2011-06-20
      • 2016-05-10
      • 1970-01-01
      • 1970-01-01
      • 2017-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      相关资源
      最近更新 更多