Home Backend Development PHP Tutorial PHP终于迎来自己的正式语言规范_PHP

PHP终于迎来自己的正式语言规范_PHP

May 31, 2016 pm 07:28 PM
php php specification

 

作为一款脚本语言,PHP在Web开发领域一直扮演着关键性角色,如今它开始在语义及语法方面为减少分歧作出努力。

尽管PHP脚本语言早在1995年左右就已经诞生并在Web开发领域占据着重要地位,但其一直没有自己的正式语言规范——只提供广泛的用户说明文档。但这种不利状况正在出现转机。

由Facebook公司牵头,目前一份规范草案已经被发布在GitHub之上,旨在拿出一套对于PHP语言语义与语法的完整定义。

“PHP的下一个主要版本——也就是PHP 7——正在开发当中,为了确保其能够完全与现有PHP脚本相符、最重要的是了解关于这套引擎的一切使用预期,”Facebook公司专门负责此次规范开发工作的Sara Golemon表示。“除此之外,由于HHVM等替代实施方面的出台,将各类分歧状况保持在最低限度同样被作为考量重点,而这也要求我们深入了解一磁良好运作的引擎需要具备哪些特性。”

此次组建的PHP小组当中包括PHP语言缔造者Rasmus Lerdorf以及工具供应商Zend Technologies公司CEO Andi Gutmans,后者负责监督规范研发工作。对该规范作出变更要求参与者拥有php.net账户。

正式名称为HipHop Virtual Machine的HHVM项目由Facebook打造,旨在让PHP代码的运行更加快捷。这套计划中的规范将保证HHVM成为与PHP完全匹配的实施方案,Golemon解释道。“举例来说,我们在规范中发布的一致性套件能够显示HHVM在边缘情况当中出现的故障数量。通过这类信息,我们能够让HHVM与PHP结合得更为紧密。”

规范制定的下一步工作在于改进表达、修正边缘情况并强化一致性套件。“从长远角度看,这份文档将与PHP实施方案采取同样的开发步骤,从而以正式方式为新语法提供文档记录,例如最近刚刚出现的pow运算符、variadics以及splat等,”Golemon指出。

使用这款语言的开发人员一直在致力于改进其在现实环境下的应用程序性能。而在实验室中,这些改动已经降低了应用程序执行所需要的设备指令数量、进而减少内存使用量。

传送门(GitHub):

https://github.com/php/php-langs ... c/php-spec-draft.md

原文链接:Php Gets its Own Formal Language Specification

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

See all articles