Ext4Yii:基于 ExtJS 的 Yii 扩展


Ext4Yii是一个基于ExtJS和Yii(PHP开发框架)的应用框架,也算是Yii的一个扩展。

Ext4Yii基于一个模板渲染系统,提供了一个针对ExtJS组件的服务器端标签库。在Ext4Yii中,你可以使用XML模板定义应用程序的元素,如按钮、网格、存储组件以及嵌入式JavaScript等。XML标签会被解析和转换到ExtJS,缓存被重用,然后发送到浏览器。

Ext4Yii自带了一些PHP基类,可以用来在PHP中创建数据查找控制器、CRUD控制器、表单控制器和TreeStore控制器等。在XML模板中指向这些类,Ext4Yii会生成JavaScript来进行数据通信和异常处理。

在Ext4Yii中开发数据驱动模块通常需要以下4个步骤:

  1. 定义UI元素,如GridPanel
  2. 定义数据元素,如Store、Model
  3. 派生和实现一个PHP控制器类,如ExtLookupStoreController
  4. 最后,将UI组件指向Store,将Store指向控制器

模板被渲染后,Ext4Yii会负责代理生成、对象创建以及其他一些事情。

下面是一个Model、Store和UI示例:

下面是一个控制器示例,该例子中,查询了数据库并导出数据到ExtJS中:

为了便于处理事件,Ext4Yii提供了一个简单的方式来嵌入JavaScript函数,这将在给定的组件中作为事件监听器。

也可以通过Ext4Yii从JavaScript中调用PHP函数,你需要做的只是取得ExtController,并使用@direct来标记你的函数,然后会生成可用于JavaScript 的Ext.Direct代理。

下图展示了如何调用远程方法:

译文原文: http://www.iteye.com/news/26900

英文原文:http://www.sencha.com/blog/customer-spotlight-ext4yii/