【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

PHP 6 将全面支持 Unicode 和国际化

  • 2009-10-25
  • 本文字数:1226 字

    阅读完需:约 4 分钟

PHP 核心开发者 Andrei Zmievski 在最近举行的 2009 Zend/PHP 会议的主题发言中提出:

在接下来的 PHP6 重要升级中,将通过支持 Unicode 来帮助开发者们写出能够部署到多个不同语言市场的应用程序。

商业开发中如果只是开发为特语言市场的应用程序,就会失去其他地方的商业机会。早在 2006 年 4 月,Andrei Zmievski 就提出未来需要支持 Unicode,而且他认为这件事早就应该做了。所谓 Unicode 就是不论什么平台,什么语言,都使用统一的编码,对于 PHP6,包括 string 类型在内,都将是 Unicode 内置的。

PHP6 的 Unicode 使得写出能处理各种语言和编码的应用程序更容易,比如很容易就可以写出一个同时支持中、日、英文的应用程序,以同时面对来自中国、日本和英语国家的用户。

PHP 增强了国际化是件一直令人期待,让人高兴的事情,特别是对那些不是美国和英国本土出生的软件开发者和使用 PHP 网站提供服务的企业主,包括持续增长的中国外贸企业站点。一些提供 PHP 内容管理系统的厂商也反映目前的 PHP 版本支持国际化非常困难,因此即将升级的国际化对他们非常有帮助。

从 PHP 的官方网站上看到 PHP 的 Unicode Completion Stats 截至今日为 70% 左右,但 PHP 核心开发者仍然需要完成在 cookie 访问和 PDO (PHP Database Objects) 等方面的 Unicode 开发。Zmievski 说:

这部分完成后,我们会在一些知名的应用程序和框架上测试 PHP6,比如 Drupal。

PHP 核心开发者 Gutsman 表示,

PHP 现在的应用更加广泛了,经济不景气反而加速了开源和 PHP 的使用,因为在经济衰退中,公司不得不增加生产性,降低成本,而 PHP 恰好能做到这一点。

同样是 Web 开发语言和平台的重要一支,Java 方面的发展,最初的企业级 Java 由于不适合 Web 负载,已经逐步被流行的轻量级框架如 Spring 等取代,有一些 Java 开发者也转向 PHP 这样的动态语言,因此国际化的支持对于 PHP 阵营的壮大将起到更大的作用。但对于互联网的实现载体,Web 开发语言 / 平台,它们的生命力本身就来源于随着互联网的发展而不断的进化和发展,无论是 PHP 支持了 Unicode 还是 Java 变得更加轻巧,都是如此。

值得关注的是,PHP6 也将改善数字的处理,包括长型数字。另外 traits,区别于类的垂直继承,一个能够水平重用代码的功能也在考虑中,开发者将不需要处理多重继承就可以追加功能。

Zend 上周也宣布了 Zend’s PHP IDE—— Zend Studio 7.1 的 beta 版,该版本提供了远程服务器的支持,并且集成了任务的支持。7.1 版计划在 2009 年末正式提供。

关于 PHP6 对于 Unicode 的更详细内容可以参考 PHP 官方站点以及 Andrei Zmievski 的站点中提供的发言文档,最新的PHP6 的开发版本可以从 http://snaps.php.net/ 获得。


作者介绍:晁晓娟,从事 Web 开发管理多年,留过学,呆过外企,尝试过创业,关注项目管理,架构和产品,热爱天马行空的把所有的传统的非传统的 IDEA 搬到互联网上来。InfoQ 中文站内容团队,尤其是架构、SOA 和 Ruby 社区需要您的参与,有意者请邮件至 editors【AT】cn.infoq.com

2009-10-25 20:522255
用户头像

发布了 42 篇内容, 共 17.1 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

许世伟老师架构课笔记分享

BeyondLife

架构师 需求设计

5分钟教你如何利用华为云IoT进行物联网设备上云

wljslmz

物联网 IoT 华为云 9月月更

力扣15 - 三数之和【奇妙的双指针】

Fire_Shield

双指针 LeetCode 9月月更

Python 教程之变量(2)—— Python中整数的最大可能值是多少?

海拥(haiyong.site)

Python 9月月更

【C语言】字符函数&字符串函数&内存函数(下)[进阶篇_复习专用]

Dream-Y.ocean

c c++ 9月月更

如何刻意练习-中秋读书随笔

刘旭东

刻意练习

redis 作为缓存时存在的问题

想要飞的猪

redis 淘汰策略 redis缓存过期

在线编码、格式转换

人生如梦

React 在线格式化 在线编码 转码工具

架构师的十八般武艺:架构边界

agnostic

架构边界

DevOps实践中的“道法术器”

阿泽🧸

DevOps 9月月更

【JavaWeb】Filter系列——过滤器有什么用,如何编写?Filter过滤器的设计模式

胖虎不秃头

java; 过滤器 9月月更

算法基础(一)| 快速排序和归并排序详解

timerring

算法 9月月更

Python 教程之变量(3)—— 全局变量和局部变量

海拥(haiyong.site)

Python 9月月更

AQS 条件队列机制源码分享

new life

AQS

TCP/IP参考模型

StackOverflow

编程 计算机网络 9月月更

开始思考吧

吴京

学习 思考 思想

B-Tree索引

急需上岸的小谢

9月月更

ATDD的小妙用

Bruce Talk

敏捷开发 随笔 Agile

【iOS逆向】某不知名App越狱检测

小陈

iOS逆向

AQS 阻塞队列机制源码分享

new life

AQS

VUE v-for 循环的 2 个使用

HoneyMoose

【C语言深度剖析】深入理解字符数组和字符串数组

Albert Edison

C语言 9月月更 strlen 字符数组 字符串数组

Spring @PostMapping 能在 URL 中带有参数吗

HoneyMoose

Moment.js 如何对时间进行比较获得不同的天数

HoneyMoose

LeetCode-164. 最大间距(Java)

bug菌

9月日更 Leet Code 9月月更

关于 SAP UI5 所有控件的共同祖先 - sap.ui.base.ManagedObject

Jerry Wang

SAP Fiori SAP UI5 ui5 9月月更

为什么需要微服务

穿过生命散发芬芳

微服务 9月月更

2022-09-11:arr是一个可能包含重复元素的整数数组,我们将这个数组分割成几个“块”, 并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。 我们最多能将数组分成

福大大架构师每日一题

算法 rust 福大大

【Nacos云原生】阅读源码第一步,本地启动Nacos

石臻臻的杂货铺

云原生 nacos 9月月更

VUE v-for 数据引用

HoneyMoose

阻碍【程序员职业发展】的 5 个“绊脚石”

掘金安东尼

程序员 前端 9月月更

PHP 6将全面支持Unicode和国际化_Java_晁晓娟_InfoQ精选文章