这个帖子虽然比较旧,但仔细找找,你很可能挖到金矿也不一定。
-----------x----------x---------x----->美丽分割线<-----x---------x----------x-------
这个帖子用来发布 1.0.70 的开发 进度情况。
1.0.70 beta 版已经发布,所有示例 均可正常运行 。
【SVN 仓库地址】
如果希望获得开发中的 1.0.70 代码 ,请使用下面的 SVN 地址:
svn ://svn.fleaphp.org/branch/1.0.70-dev/
【2007-05-15】
转眼间,一个月就过去了,这段时间因为工作繁忙,和编写文档 ,所以 FleaPHP 的代码没有什么大的改动,不过还是提供了一些新特征:
- 增加 FLEA_Session_Db 类,提供将 session 保存到数据库 的能力
- FLEA_Db_TableDataGateway 关联查询 加入对 limit 参数 的支持
- FLEA_Db_TableDataGateway 增加了 saveRowset()、createRowset()、updateRowset() 和 replaceRowset() 方法
- 新增的 FLEA_Db_TableDataGateway::findAllByPkvs() 可以查找以数组形式指定的主键值对应记录
- FLEA_Db_TableDataGateway 构造函数 现在支持直接指定 primaryKey 属性
- 修正 FLEA_Db_TableDataGateway::findAllByPkvs() 产生无效查询条件 的问题
- 修正 FLEA_Db_TableDataGateway::updateByConditions() 总是返回 true 的问题,感谢 一地风飞 报告此问题
- 修正 mysql 驱动 nextId() 在 _seq 表为空时不能返回键值的问题
- FLEA_Controller _Action 增加了 __setDispatcher() 方法,以便设置 控制器 使用的调度器对象
- 增加 FLEA_Controller_Action:
_dispatcher
- 简化 FLEA_Controller_Action 和 FLEA_Dispatcher_Simple 对请求参数的处理
- 修正调用 FLEA_Controller_Action::_forward() 会导致出错的问题
- 修正在 FLEA_Controller_Action 继承类构造函数中调用 $this->_getDispatcher() 无法获得调度器对象的问题
- 增加了 FLEA_Dispatcher_Action::getUserRoles()
- FLEA_Rbac _UsersManager 增加了 updatePasswordById() 方法,以便更新指定 ID 的用户 的密码
- FLEA_Rbac_UsersManager 的 find 系列方法增加了 $fields 参数,以便指定要获取的字段
- 针对 CGI 模式 安装的 PHP ,调整了 url () 函数
- url() 现在支持一个新的参数:$bootstrap。该参数用于指定以什么文件 作为 URL 的入口文件
- 新增的 detect_uri() 函数用于获得当前请求的 URL 地址
- 修正 encode_url_args() 生成的 url 多了一个 & 的问题
- 新增的应用 程序 设置 urlParameterPairStyle 指示在 PATHINFO 和 REWRITE 模式下,用什么符号作为 URL 参数名和参数值的连接字符,默认设置为 ':'
- FLEA::getSingleton() 的细微修改
- FLEA_Helper _Image::crop() 的 $noOverflow 参数改名为 $nocut
- FLEA_Helper_SendFile::sendFile() 现在会输出缓存 标志
- Smarty 扩展的 parse_str 插件 现在支持以 | 符号分割字符串,方便在页面 中使用
- 修正 FLEA_Log 报错的问题,感谢 zhex 报告此问题
- 修正 WebControls 中 __baseCtlCheckboxOrRadioGroup() 对 caption 判断不当的问题,感谢 hho2002 报告此问题
- 修正了应用程序设置 displaySources = false 没有起作用的问题
- 将 FLEA/Db/TableDataGateway.php 和 MVC.package.php 文件,方便维护。以后通过“应用程序部署向导”来打包应用程序和 Flea PHP 框架 文件,从而提高运行性能
FLEA_Session_Db 是一个新组件,用于将 session 保存到数据 库中。开发者可以很方便的扩展这个组件,以便在保存 session 时保存更多的信息。其他更新主要集中于 bug 修复和功能 增强,让 FleaPHP 变得更稳定、更好用。
预计本月底发布正式版本和配套的文档,目前我们正在为了这一目标紧张工作。
【2007-04-10】
这几天的更新集中于修复 1.0.70 beta 版发布以来发现的一些 bug,并进一步优化性能。
其中 FLEA_Ajax 现在支持以 jQuery 的选择符来确定发起 Ajax 调用的控件 。同时,调用 registerEvent() 注册 ajax 事件时,控件名必须以 jQuery 选择符的形式提供。例如要指定名为 username 的输入框,就用 “#username”。具体可以参考 FleaPHP Ajax 示例程序的代码。
- FLEA 基础类细微调整,避免在 __autoload() 中调用 loadClass() 时发生递归调用
- 修改了几处调用 class_exists() 的地方,以避免和 __autoload() 中调用 FLEA::loadClass() 发生冲突
- FLEA::getFilePath() 的性能优化
- 修改 FLEA.php 确保不会出现 log_message() 和 _T() 未定义 的问题
- 修改 multiLangaugeSupport 拼写错误的问题(应该是 multiLanguageSupport)
- FLEA_Ajax::dumpJs() 增加了一个 $warpper 参数,指示是否输出 <script></script> 标签
- FLEA_View_SmartyHelper 增加了 dump_ajax_js 插件,便于在 Smarty 模版中输出 FLEA_Ajax 生成的 JavaScript 代码
- 简化 FLEA_View_Lite、FLEA_View_Smarty,并修正一个初始化错误
- FLEA_Dispatcher_Auth::_loadACTFile() 的性能优化
- 修正了 FLEA_Rbac_UsersManager 处理 $_SERVER['REMOTE_ADDR'] 不严密的问题
- 修正使用自定义 Dispatcher 时没有载入类定义的问题
- 新增的 FLEA_Helper_Image::resizeCanvas() 方法可以调整图片大小,但不对原始图像进行缩放
- FLEA_Helper_Image::crop() 对原始图片的定位现在支持 9 种模式
- FLEA_Helper_Image::extractColor() 现在支持 #ff00ee 这样的色彩表示方式
- FLEA_Helper_Image::resizeCanvas() 的 $pos 参数添加默认值 center
- FLEA_Helper_ImgCode 增加了 $keepCode 和 $imagetype 属性,用于指示是否保留已有的验证 码和输出验证码的图片格式
- 修正 FLEA_Helper_ImgCode::checkCaseSensitive() 缺少必要参数的问题
- FLEA_Helper_Verifier 现在支持 notEmpty 验证规则
- 数据库驱动的细微调整,避免 log_message() 未定义的问题
- 数据库驱动现在会在调试模式下将所有执行的 SQL 语句 存入日志文件,方便调试和排错
- 修正 FLEA_Db_SqlHelper::parseConditions() 不支持条件值为 null 的问题
- 修正 FLEA_Db_TableDataGateway::findAll() 中对非整数主键值不支持的问题
- 修正 FLEA_Db_TableLink::saveAssocData() 不支持二维数组和主键值混合的问题
- 改进了 removeByConditions() 和 removeByPkvs() ,现在可以在删除主表记录时处理关联表
- 给 save()、create()、update() 增加了一个 $saveLinks 参数,当该参数为 false 时,更新、创建记录操作将不会处理关联表
- 修正了 findCount() 在以关联表作为查询条件时,结果不正确的问题
- 优化 FLEA_Db_TableDataGateway::_prepareMeta() 的性能
- 现在 FLEA_Language 在找不到语言 文件时,会抛出一个 FLEA_Exception_ExpectedFile 异常
- 修改 FLEA_Log,确保能够记录每一次请求的日志
【2007-04-06】
- 优化了 FLEA_Db_TableDataGateway::findAll() 的 HAS_ONE、HAS_MANY 和 MANY_TO_MANY 关联查询
hasOne 优化了不必要的 LEFT JOIN
hasMany 优化了不必要的 LEFT JOIN
manyToMany 从两次 INNER JOIN 优化为一次 INNER JOIN
【2007-04-04】
昨天发布的 FleaPHP 1.0.70 beta 版,相对于 03月17日,有下列更新和改进:
- 将 __FLEA_DISPLAY_EXCEPTION() 合并到了 __FLEA_EXCEPTION_HANDLER()
- 删 除 mootools 和 prototype,并添加 jquery.js(包含官方 form 插件)(现在 FleaPHP Ajax 绑定于 jQuery)
- __THROW() 现在会返回 false,所以开发者可以用 return __THROW(new FLEA_Exeception()) 直接抛出异常后返回
- encode_url_args() 现在支持嵌套数组
- FLEA::inti() 增加了一个 $loadMVC 变量 。如果该变量为 true,则会载入 MVC.package.php 文件。这样方便开发者从 FLEA_Controller_Action 派生自己的控制器基础类
- FLEA_Db_TableDataGateway::clearLink() 更名为 clearLinks()
- FLEA_Helper_Image::crop() 方法增加了一个 $noOverflow 参数。该参数让开发者可以在将图片转换为指定大小时保持图片的完整,并在周围填充指定的颜色
- 改进了 FLEA_View_SmartyHelper::_pi_func_url()
- 更新了 FLEA.php 中几处对变量的使用
- 将 FLEA_Com_RBAC 目录 下的文件和类,迁移到 FLEA_Rbac(以前使用 FLEA_Com_RBAC 的程序可以不用修改。迁移的原因是有些虚拟主机不允许创建名为 Com 的文件夹)
- 将 FLEA_Db_TableDataGateway::autoVerifier 改名为 autoValidating,以符合该属性的实际用途
- 修 正 FLEA_Db_SqlHelper::parseConditions() 显示 $str 未定义警告信息的问题
- 修正 FLEA_Db_TableDataGateway 在 PHP5 中未能正确处理 where 的问题
- 修正 FLEA_Db_TableDataGateway::updateField() 无法使用的问题
- 修正 parseConditions() 处理条件时的错误
- 修正 t2js 没有过滤 \r 的问题(感谢 hho2002 报告并解决 此问题)
- 修正了错误显示页面可能 输出警告信息的问题
- 修正了对 HAS_ONE、HAS_MANY 和 BELONGS_TO 进行关联条件查询失败的问题
- 修 正载入 FLEA_Com_RBAC 时出现类重复定义错误的问题
- 优化 FLEA_Db_TableDataGateway::findAll()
- 优化了 parseConditions(),现在可以支持更灵活的条件参数
- 新增 FLEA_Helper_Image::extractColor() 方法,用于将 0xfffff 或 ffffff 的颜色字符串转换为 rgb 值
- 新 增 FLEA_WebControls::mergeAttribs(),方便自定义控件处理控件属性值
FleaPHP 1.0.70 正式版发布前将要完成的改进:
- 优化 FLEA_Db_TableDataGateway,消除不必要的 JOIN 查询(比现有查询方式会有质的提高)
- 提供 MS Sql Server 驱动
- 改善对 CGI 模式的支持
- 改进 FLEA_Helper_FileUploader(以便更好的支持批量文件上传)
- 修正 1.0.70 beta 版中发现的错误
【2007-03-17】
* FLEA_Com_RBAC_UsersManager 现在可以保存注册 IP、最后登录时间、最后登录 IP、登录次数、帐户是否锁定信息等信息
* FLEA_Db_TableDataGateway 构造函数现在支持 dbo 属性,用于直接指定该表数据入口对象要使用的 DBO
* FLEA_Db_TableDataGateway、FLEA_Db_TableLink 和 FLEA_Helper_Pager 的一些细节调整,提高易用性
* 如果提交的数据包含有效主键值,那么 FLEA_Db_TableDataGateway::create() 不会再抛出异常
* 修改了 FLEA::parseDSN() 和 FLEA::getDBO(),以便更好的处理多个 DSN 的情况
* 修改了 FLEA_Log 写入日志的一个多余字符
* 修正 FLEA::loadClass() 不能与 __autoload() 配合的问题。感谢 luwenhua 报告此问题。
* 修正 FLEA_Db_TableDataGateway 对于 dsn['port'] 处理不当的问题。感谢 luwenhua 报告此问题。
* 修正 FLEA_Db_TableDataGateway::parseDSN() 在 port 不为空时产生无效 cacheId 的问题。感谢 axing 报告此问题。
* 修正 FLEA_Exception_ExpectedClass 格式化消息时,参数顺序错误的问题
* 修正 FLEA_Helper_Pager getNavbarIndexs() 和 renderPageJumper() 在 basePageIndex 不为 0 时返回错误结果的问题
* 修正 FLEA_Helper_Pager::getNavbarIndexs 生成的页码多一个的问题
* 修正 FLEA_Helper_Pager::getNavbarIndexs() 计算起始页码错误的问题
* 修正了数据库驱动 qstr() 方法在处理数字时的问题
* 优化了 FLEA_Db_TableLink 及其继承类
+ FLEA_Db_TableDataGateway 的重大改进!允许以关联表的字段作为条件查询主表记录
+ FLEA_Db_TableDataGateway 构造函数增加了一个 autoVerifier 选项,用于覆盖 TDG 实例 的 autoVerifier 属性
+ FLEA_Db_TableLink 新增的 saveAssocMethod 属性可以指定在保存关联数据时使用何种方法,默认为 save
+ 数据库驱动新增的 enableLog 属性,允许禁止数据库驱动不保存 SQL 查询记录,从而降低内存占用。调试模式时,该属性为 true,部署模式则为 false。
+ 添加了 FLEA/Com/RBAC.php 占位文件
+ 新增 FLEA_Db_TableDataGateway::removeAllWithLinks() 可以删除所有数据及关联表的所有数据
+ 增加了 FLEA_Helper_FileUploader::existsFile() 方法,用于判断指定的上传文件是否存在
这段时间的更新主要集中在细节调整和错误修正上。务必将 1.0.70 正式版打造为一个非常稳定可靠的开发框架!
其中,最最重要的更新就是 FLEA_Db_TableDataGateway 现在允许以关联表的字段作为条件查询主表记录。 举例说明如下:
- class Table_Posts extends FLEA_Db_TableDataGateway
- {
- var $tableName = 'posts';
- var $primaryKey = 'post_id';
-
- var $belongsTo = array(
- array(
- 'tableClass' => 'Table_Users',
- 'foreignKey' => 'user_id',
- 'mappingName' => 'user'
- )
- );
-
- var $manyToMany = array(
- array(
- 'tableClass' => 'Table_Tags',
- 'foreignKey' => 'post_id',
- 'assocForeignKey' => 'tag_id',
- 'joinTable' => 'posts_to_tags',
- 'mappingName' => 'tags',
- )
- );
- }
上 面的 Table_Posts 比较好理解,分别定义了一个 BELONGS_TO 关联和一个 MANY_TO_MANY 关联。
现在假设要查询所有指定了标签“PHP”的记录,那么代码如下:
- $conditions = array(
- array('tags.tagname', 'PHP')
- );
- $tablePosts =& new Table_Posts();
- $posts = $tablePosts->findAll($conditions);
- dump($posts);
输出结果可以看到,只有指定了标签“PHP”的记录才 会被查询出来。
同样,可以查询用户名为“dualface”的所有记录。
- $conditions = array(
- array('user.username', 'dualface')
- );
- $tablePosts =& new Table_Posts();
- $posts = $tablePosts->findAll($conditions);
- dump($posts);
新 的 $condtions 写法比较特别!一定要注意!
查询条件必须是一个数组,并且包含两个元素。第一个元素是字段名,第二个是字段值。
字段名必须是“关联名字.字段名”的形式。
例如要以关联 tags (关联名字由关联的 mappingName 属性指定)的 tagname 字段进行查询,那么字段名就是:“tags.tagname”。
假如不写“tags.”,而只是 “tagname”,查询是无法进行的。
#################################################################
【2007-03-04】
* 修正 FLEA_Helper_Verifier::isDOMAIN() 没有判断值的问题,感谢 freeagle 报告此问题
* WebControls 的 ListBox 和 DropdownList 现在支持 key 和 caption 属性,感谢 freeagle 报告此问题
* 修正 FLEA_Db_TableDataGateway::disableLinks() 调用后,enableLink() 不起作用的问题。修改后,规则如下:
1、调用 disableLinks() 后,禁用所有关联;
2、调用 enableLink($linkName) 后,启用该关联,其他被禁用的关联仍然处于被禁用状态;
3、调用 enableLinks() 后,所有关联将启用,不管该关联以前是否已经被禁用。
* FLEA_Helper_Pager 增加了 basePageIndex 属性,用于指示实际页码的基数。感谢 hegz 的热心建议 。
#################################################################
【2007-02-28】
这段时间对 FleaPHP 1.0.70 做了许多细节上的调整,除了修正一些小 bug,其他调整都是让开发者能够更舒服的使用 FleaPHP。
* 首先是将 FLEA_Controller_Action、FLEA_Dispatcher_Simple、FLEA_Dispatcher_Auth 和 FLEA_Com_RBAC 四个文件合并为了 FLEA/MVC.package.php 文件。其次,将 Mysqlt.php 合并到了 Mysql.php 中,Exception.php 合并到了 FLEA.php 中,TableLink.php 合并到了 TableDataGateway.php 中。
这些合并工作可以明显减少 IO 次数,提高性能。这个修改对应用程序几乎没有影响,除非你在调用 FLEA::runMVC() 之前需要载入 RBAC。于此对应,新增应用程序设置 MVCPackageFilename,用于指示在使用 MVC 模式时要载入哪一个 MVC 模式实现文件。这个选项默认值是 MVC.package.php。
* FLEA_Helper_Verifier 现在会返回检查时没有通过的检查项目 名。有了这个功能,开发者可以很方便的知道在验证 时,数据没有通过哪一项测试(例如类型不符或是长度太长)。这样就能反馈给用户更具体的错误信息,提高应用程序对用户的友好度。
* 强化了 SmartyHelper 中对 url 的支持,现在可以使用数组作为参数来构造 url,例如:
- { url controller='MyController' action='MyAction' id=$id __moreArgs=$moreArgs }
上面的 __moreArgs 是一个占位符(可以是任何名字,只要不和其他参数同名),而 $moreArgs 就是一个数组,内容是 array('type' => 'article', 'sort' => 'desc')。最后生成的 url 如下:
- http://localhost/index.php?controller=MyController&action=MyAction&id=1&type=article&sort=desc
这样在模版中构造带有动态参数的 url 就非常方便了。更复杂的实际例子
:
- { url controller='BoProducts' action='index' page=$pager.currentPage sort=$columnsSort.created __condition=$conditions __filter=$filter }
* FLEA_Helper_Pager::getPagerData() 可以返回分页的相关数据,包括 pageSize, totalCount, count, pageCount, firstPage, firstPageNumber, lastPage, lastPageNumber, prevPage, prevPageNumber, nextPage, nextPageNumber, currentPage, currentPageNumber。使用示例:
- // PHP 脚本
- $view->assign('pager', $pager->getPagerData());
- $view->display('template.tpl');
- // template.tpl 模版
- 共有 { $pager.totalCount } 条记录,分为 { $pager.pageCount } 页显示,每页 { $pager.pageSize} 条
* FLEA_Helper_Pager::getNavbarIndexs() 可以产生指定范围内的页面索引和页号,例如:
- // PHP 脚本
- $currentPage = 当前页索引;
- $view->assign('navbarIndexs', $pager->getNavbarIndexs($currentPage, 8));
- $view->display('template.tpl');
- // template.tpl 模版
- 选择要查看的页码:
- { section name=nav loop=$navbarIndexs }
- <a href="{ url controller='MyController' action='MyAction' page=$navbarIndexs[nav].index }">[{ $navbarIndexs[nav].number }]</a>
- { /section }
上面的代码会产生一个最多 8 页的页码条。假如当前页是第 8 页,那么这个页码条就从第 4 页到 11 页,如下图:
* WebControls 增加了一个 static 类型控件
* 改进了 WebControls,raidoGroup 和 checkboxGroup 支持表格显示方式
* 改进了 FLEA_WebControls 对 radioGroup 和 checkboxGroup 的支持
现在的 WebControls 在生成 checkbox 组和 radio button 组时非常方便了,实际应用的例子:
- { webcontrol type='checkboxgroup' name='tags1' items=$allTags key='tag_id' caption='tagname' multirow=true cols=6 table=true }
- { webcontrol type='radiogroup' name='tags2' items=$allTags key='tag_id' caption='tagname' multirow=true cols=6 table=true }
效果如下:
* 现在 FLEA_Ajax::registerEvent() 返回事件在客户端的响应函数名
* 现在 FLEA_Controller_Action::_registerEvent() 返回事件在客户端的响应函数名,而不是 FLEA_Ajax 对象实例
* 将 cysin 翻译的英文错误信息更新到 _Errors/default/ErrorMessage.php 文件中。
* 根据 etng 提供的 patch 修改了 SHOP 示例程序。现在 SHOP 示例程序已经完全与 FleaPHP 1.0.70 兼容。
* 将 json_encode() 和 json_decode() 的定义移动到文件 FLEA.php 中。这样无需载入 FLEA/Ajax.php 就可以使用 json_encode() 和 json_decode() 了。
* 修改了“部署”模式的默认设置,将显示异常信息,但不会暴露应用程序文件位置和更多的信息。这样既能看到错误信息,又不会暴露有安全隐患的内容。
* 修改了“部署”模式对数据库元数据的缓存时间,默认为 900 秒。
+ 增加了应用程序设置 displaySource,指示在显示异常信息时是否显示文件源代码。FleaPHP 在应用程序出错时,会显示详细的错误信息,以及出错位置附近的源代码。这个特性在开发时很有用,但应用程序部署到服务器前务必将该设置改为 false,否则出错时,会看到应用程序的部分源代码,可能造成安全问题。
* 细调了 FLEA_Language 和 FLEA_Log,对开发者没有影响。
* 修正了 FLEA_Db_TableDataGateway 没有正确调用 verifier 的问题。
* 修正 FLEA_Helper_Verifier 对 ALPHANUMX 类型验证错误的问题。
* 修正当提交给 FLEA_Db_TableDataGateway::create() 的数据包含主键字段值时,create() 不会处理关联数据的问题。
* 现在当 FLEA_Db_TableDataGateway::findAll() 获取关联数据时,如果关联数据不存在,对应的映射字段会设置为 null。
#################################################################
【2007-02-08】
+ 增加了 FLEA_Dispatcher_Simple::parseUrl() 方法,用于分析指定 url 中包含的控制器名字和动作名
+ FLEA_Helper_Pager 增加了 getPagerData() 和 getNavbarIndexs() 方法,分别用于获得分页参数和指定页段的索引和页码(方便在 Smarty 模版引擎中使用)
+ FLEA_View_SmartyHelper 增加了 parse_str、to_hashmap 和 col_values 方法,方便在模版中处理数据
+ FLEA_WebControls 增加了 CheckBoxGroup 控件类型
* 错误信息输出格式有细微的调整
* 改进了 WebControls,以便更好的支持自定义控件。
#################################################################
【2007-02-07】
增加了一个 SmartyHelper,为 Smarty 和 TemplateLite(一个 Smarty 的替代品)模版引擎提供更好的支持。目前包括下列自定义函数:
{ url controller='controller name' action='action name' }
{ webcontrol type='textbox' name='username' size=30 class='css_style' }
{ _t key='word' lang='chinese-gb2312' }
{ get_app_inf key='defaultController' }
其中 url 和以前的用法有所区别:
以前是:{ url controller='controller name' action='action name' args='key=value&key2=value2' }
现在是:{ url controller='controller name' action='action name' key='value' key2=$value2 }
新的写法更容易将变量传递给 url 函数。webcontrol 的用法和 url 类似。
增加了对 TemplateLite 模版引擎的支持。这个模版引擎是以前的 Smarty Lite,相当于简化版的 Smarty,但速度更快,而且有 Smarty 的绝大部分功能。
删除了 QuickTemplate(不能比现有的做得更好就没有存在的价值)、SimpleTemplate(这个模版引擎功能太少,如果需要可以从 FleaPHP 1.0.6x 中 copy 来用)。
改进了 FLEA_Com_RBAC_UsersManager::validateUser() 方法,以便记录用户的最后登录时间和累计登录次数。并且返回值可以是用户数据,使得开发者只需一次 validateUser() 调用就能够完成用户名、密码验证,并获得有效的用户数据。
这几天改动不大,下一步是把 Ajax 部分对 prototype 和 jquery 的支持做好。
#################################################################
【2007-01-31】
添加了一个 Ajax 示例程序,用于演示 FleaPHP 提供的 Ajax 功能。目前有三项测试,分别是:
- 用 Ajax 提交一个值,然后从服务器获得结果;
- 用 Ajax 提交一个表单 ,然后从服务器获得结果;
- 用 Ajax 获取一个 JSON。
三个测试分别演示如何提交一个控件(例如文本输入框)的值、如何提交表单、如何从服务器获取一个 JSON。
完善了 FLEA_Ajax 类和 mootools 的适配器,现在对于每一个 Ajax 请求支持下列属性:
- method: 请求方法,可设置为 post、get,默认为 post
- postBody: 请求访问 为 post 时,要提交给服务器的数据
- parameters: 附加的请求参数(通过 GET 传递)
- dataControl: 指定的控件 ID 及其值会作为 postBody 提交
- beforeRequest: 发起请求前要执行的代码
- afterRequest: 提交请求后要执行的代码
- onSuccess: 请求成功后要执行的代码
- onFailure: 请求失败时要执行的代码
- onStateChange: 请求状态改变时要执行的代码
- async: 指示请求是异步还是同步,默认为异步请求,设置为 false 时使用同步请求
- update: 指示请求成功时,更新哪一个控件的 innerHTML 属性,update 的值是控件 ID
- updateValue: 指示请求成功时,更新哪一个控件的 value 属性,updateValue 的值是控件的 ID
- eval: 当 eval 为 true 时,服务端返回的内容如果是 JavaScript 脚本,则执行
- loadingIcon: 当发出 Ajax 请求时,修改指定控件的样式为 display:block,
请求收到回响后再将控件的样式设置为 display:none - clearUpdate: 如果为 true,则发出请求时,清空 update 和 updateValue 指定的控件
使用这些属性,可以确保不管使用哪一个 JavaScript 库,应用程序都可以获得一样的运行效果。FleaPHP 会根据开发者选择的 JavaScript 库动态生成不同的 JavaScript 代码。这样可以避免将开发者绑定到某个特定的 JavaScript 库,给于开发者最大的灵活性。
目前只有 mootools 的适配器已经开发完成,正在开发的适配器有 prototype 和 jquery 的。
链接:http://qeephp.com/bbs/viewthread.php?tid=183&extra=page%3D2%26amp%3Bfilter%3Ddigest&page=1