德国开放源码软件开发者Frank Karlit-schek主导的ownCloud项目,是目前采用PHP编写的最大型开源项目之一。他在谈及为何选择PHP时,提到以下几点。 普遍性:ownCloud的目的是让所有人来托管自己的云服务器。而PHP目前广泛用于Web服务器、操作系统,平台的优势
德国开放源码软件开发者Frank Karlit-schek主导的ownCloud项目,是目前采用PHP编写的最大型开源项目之一。他在谈及为何选择PHP时,提到以下几点。
- 普遍性:ownCloud的目的是让所有人来托管自己的云服务器。而PHP目前广泛用于Web服务器、操作系统,平台的优势使得用户能轻松地进行部署。
- 通用性:作为脚本型语言,一个服务器tar文件可以运行于所有的平台而无须复杂的额外编译。
- 门槛低:大多数程序员对PHP都不陌生,即使是零基础的用户,学习PHP也是相对轻松容易。
- 轻巧强大:只要使用得当,PHP运行速度快,功能强大。维基百科、Facebook、WordPress等大型Web应用都是用PHP编写的。
- 资源丰富:PHP拥有庞大的开发生态系统,包括类库、组件、连接器/驱动等。使用它就如同站在了巨人的肩膀上。
但纵然PHP有这些亮丽的优点,Frank也指出它有不足之处。
- 安全性:作为20世纪90年代的产物,它在安全性方面的表现不能令人放心,毕竟那个时候人们的安全意识还是比较天真幼稚的。
- 编译时间/运行时配置:调用 ./configure脚本来随心所欲地按照自己意愿编译PHP听起来很有趣,但如果进行换位思考,我们在维护时要逐字逐句地查看别人的脚本配置那就不见得那么美好了。
- 矛盾的函数和类命名:一时是下划线,一时是驼峰命名;某些特性可以是过程风格或是面向对象接口风格,甚或兼而有之。
- 静态类型:PHP在静态类型上可以做得更好。
最近Apple新推出的开发语言Swift触动了Frank,语言在更新换代时是需要保持向下兼容还是完全创新?而如果是类似Perl和Python那样无法前后兼容,最终分道扬镳的局面,是大家不想看到的。对此,Frank就PHP的未来提出了自己的想法。
- 安全性:摒弃GET、POST、_SERVER,引入一个合适的API来对数据输入进行筛选。
- 数据库:PHP的数据库支援API真的太丰富了。但某些API已经非常老旧甚至过时了。Frank建议对此进行标准化,最终形成唯一的面向对象接口就可以了。PDO是他做出的第一步尝试。
- 32位/64位:在32位或64位运行PHP时,人们多少会发现特别是整型数据的运行差别。消除不同类型系统的运行差别是非常必要的。
- 剔除savemode、openbasedir等传统概念,使用unicode字符。
- 移除大部分有关编译和运行时配置的选项:所有下一代PHP的运行时环境应该是尽可能统一和稳定的。
- 类型:引入可选静态类型的做法必定是非常令人激动的。这样的话一个变量可以定义为布尔或整形。如果错误地使用了变量,会抛出一个异常。
本文作者Frank Karlitschek系ownCloud发起人,自由软件开发者。
原文:http://karlitschek.de/2014/10/a-possible-future-for-php/
本文为《程序员》编译整理
原文地址:PHP未来的一些可能, 感谢原作者分享。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具