我看到自己在执行以下代码来默认分配 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(使用前将#替换为@)