如何在 PHP 中创建新运算符?

2024-01-16

我看到自己在执行以下代码来默认分配 PHP 上的所有类型

$variable = $variable ? $variable : 'default value';

我知道 5.3 我可以做到

$variable = $variable ?: 'default value';

我想通过能够做来进一步简化它

$variable ?= 'default value';

并重新分配该变量,以防其计算结果为 false。是否可以创建该作业?我必须编译我自己的 php 版本才能做到这一点吗?


如果不更改 PHP 源代码,则无法在 PHP 中创建新的运算符。

而且你不想改变它,相信我。当然,这很容易 - PHP 是开源的并且使用简单的 LALR(1) 解析器 http://lxr.php.net/xref/PHP_5_3/Zend/zend_language_parser.y您可以轻松修改它 - 但这会使您的代码与标准 PHP 实现不兼容。因此,您将非常严格地限制谁可以运行代码 - 除了您之外可能没有人,因为没有其他人会关心修改他们的 PHP 引擎只是为了运行您的代码。

Update:我写了一个关于如何向 PHP 添加新语法(如运算符)的小教程:https://www.npopov.com/2012/07/27/How-to-add-new-syntropic-features-to-PHP.html https://www.npopov.com/2012/07/27/How-to-add-new-syntactic-features-to-PHP.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PHP 中创建新运算符? 的相关文章