全面拥抱云时代 ThinkPHP 云引擎版本发布

流年
 流年
发布于 2013年01月29日
收藏 31

互联网领域的云平台化已经成为云时代基础架构新创领域的方向之一,云时代的需求与技术创新也是不少开发者为之考虑和前进的未来方向。云计划,云产品,云应 用,云享受,随着云服务的大力深入,更多企业和开发者开始漫步云端,而一款好用又兼容的云引擎技术,更是广大开发者所为之追求的。

伴随着云服务的强势入侵,引领互联网发展的云计算也成为了未来走势的重中之重。从3.0版本的SAE引擎开始,ThinkPHP已经开始迈出了支持云平台 的第一步,不同版本的升级改进也在为用户提供更好的云服务而不断优化。面对云计算技术“扎堆热”的产业趋势和国内不同云平台的风起云涌,不同的云引擎势必 给开发者造成了不少的困惑。
2013年新年伊始,作为ThinkPHP七周年分享计划的一部分,官方正式推出了针对所有云平台和分布式系统而开发的Cluster云引擎扩展,全面拥 抱云时代的到来。兼容新浪云、百度云和阿里云等云平台的Cluster云引擎,完全打破云平台的限制,全面开启跨平台无缝兼容的新机制,以给广大开发者提 供最大的便利为出发点,方便使用者通过Cluster云引擎写的程序可以在各种云平台无缝呈现。

Cluster云引擎采用IO分离的机制,实现了一个引擎扩展,通用所有云平台和所有分布式环境,普通环境下也可以运行,真正的打破了云平台不兼容的缺点。开发者使用Cluster引擎写出的程序将对云平台没有依赖,可以很方便的移植到另外的云平台。

大数据来袭,你准备好了吗?还在为不兼容各云平台的程序而烦扰吗?ThinkPHP提供你势在必行的免费云引擎扩展,实现你多云平台的云梦想。走在云端的最前沿,ThinkPHP可以,你也可以!


Cluster云引擎采用IO分离的机制,实现了一个引擎扩展,通用所有云平台和所有分布式环境,普通环境下也可以运行,真正的打破了云平台不兼容的缺点。开发者使用Cluster引擎写出的程序将对云平台没有依赖,可以很方便的移植到另外的云平台。

为了方便大家使用,提供了两个下载包(只需要下载其中一个即可):

  1. 云引擎扩展单独下载
  2. ThinkPHP云引擎版本下载

如果是下载的引擎扩展,下载后解压缩放入系统的Extend/Engine/目录。
云引擎版本集成了最新github版本的3.1.2核心包和最新的Cluster引擎扩展,以及常用的驱动和类库扩展。

Github核心版本功能改进如下:

  • 改进内置的 xml_encode 和 data_to_xml函数,不仅可以用于ajaxReturn还可以用于其他xml数据的返回
  • 查询条件支持sql函数
  • 入口文件增加ENGIN_PATH常量定义
  • 入口文件增加对引擎扩展的载入支持
  • 分组支持行为扩展定义文件
  • A方法和D方法在独立分组模式下支持跨分组调用
  • 修正跳转模板的一处js错误
  • 改进D方法对多层模型的支持
  • 改进Model类的cache方法
  • 改进模板标签的界定符支持
  • 改进模板引擎的对JS代码的误解析 可以有效识别JS代码中的易混淆代码(尤其对Jquery)
  • 改进模板引擎的模板标签解析
  • 分组添加独立的别名定义文件支持
  • 修正在某些情况下Log类找不到的错误
  • 修正空的标签{}导致解析混淆的问题
  • 采用模式扩展后首先读取核心惯例配置文件 然后读取模式扩展自身的配置文件
  • 改进Action类中error和success方法中waitSecond参数设置为0无效的情况
  • 改进cache类 支持定义队列名称 改进缓存更新对出列的影响 调试模式下面可以记录出列次数便于优化队列长度 增加对缓存类型其他方法的内部调用支持
  • 文件换行格式保存为unix格式
  • 改进cache类对队列缓存的缓存机制判断
  • DB类改进
  • cache类取消connected属性
  • 改进文件缓存类
  • Model类的where方法支持多次调用
  • Model类的query和execute方法增加对表前缀的支持
  • action类的dispatchJump方法改进

对于引擎扩展的使用来说,有一个更方便的改进。新版的引擎扩展入口文件不再需要载入引擎入口文件了,直接载入框架的入口文件然后定义引擎名称即可,例如:

    <?php
    define('APP_NAME','App');
    define('APP_PATH','./App/');
    define('THINK_PATH','./ThinkPHP/');
    define('ENGINE_NAME','cluster');
    require THINK_PATH.'ThinkPHP.php';

如果不定义ENGINE_NAME常量的话,就使用标准模式核心。
具体的云引擎的用法,请参考下面的教程和文档。
ThinkPHP云引擎使用教程
ThinkPHP云引擎视频教程

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:全面拥抱云时代 ThinkPHP 云引擎版本发布
加载中

最新评论(27

今天天气不错哟
今天天气不错哟
NB 没看错TP
橙汁儿
橙汁儿

引用来自“忘我”的评论

引用来自“橙汁儿”的评论

引用来自“Jewel_M”的评论

现在什么都号称“云” 哎 什么是云? 不知道有没有真正去理解!

++++1,什么在线存储说是云存储,什么集群服务器说是云主机,什么负载均衡说是云负载。这是云计算吗,真是恶心炒作

你说说应该怎么叫?怎么区别?

叫数据托管、集群主机、负载服务.........这些叫云计算?反正我没看到有“计算”的?我第一次听说的云计算是解放pc机的cpu、硬盘、gpu,这些都在云里计算处理,用户机只是个输入,显示的终端
WSDN
WSDN

引用来自“橙汁儿”的评论

引用来自“Jewel_M”的评论

现在什么都号称“云” 哎 什么是云? 不知道有没有真正去理解!

++++1,什么在线存储说是云存储,什么集群服务器说是云主机,什么负载均衡说是云负载。这是云计算吗,真是恶心炒作

你说说应该怎么叫?怎么区别?
橙汁儿
橙汁儿

引用来自“Jewel_M”的评论

现在什么都号称“云” 哎 什么是云? 不知道有没有真正去理解!

++++1,什么在线存储说是云存储,什么集群服务器说是云主机,什么负载均衡说是云负载。这是云计算吗,真是恶心炒作
我也叫龙哥
我也叫龙哥
标题党
mark35
mark35
写得这么好不知道到底是什么
南湖船老大
南湖船老大
云在何处?
GentleTroy
GentleTroy
都是浮云
骄阳
骄阳
希望这里的商业气息不要变浓啊........
iSea
iSea

引用来自“JFinal”的评论

引用来自“青春陪葬了无知的年华”的评论

引用来自“从前”的评论

引用来自“JFinal”的评论

引用来自“Bendon”的评论

看到 JsonRender.forIE() 就不想用了

想做得更好,不过 IE 浏览器不遵守标准,这是目前想到的最好重用JsonRender的方式。以前使用了一个单独的Render来解决此问题,不过与 JsonRender代码重复。希望你能花个 5 分钟时间试用一下 JFinal,如果觉得不好用再弃之不迟。感受一下极度快乐开发的乐趣,省下了时间就是延长了生命

不要返回 application/json. 返回 text/plain呢?
反正大多数时候 前端会用 js 处理的。

render 中的contentType : application/json 如果作为一个默认值,然后不想要默认值还可以通过set配置成 text/html 等,应该就不存在这个问题了,当上传文件时就把文档 contentType 设置成text/html返回

JFinal 1.2 的方案就是这样处理的,只不过封装成了 forIE() 方法

增加一个方法是不是因为在原来的方法上把写死的contentType写成带默认值的变量,改动起来牵涉太多?
返回顶部
顶部