用扩展扩展 PHP 语法?

Posted

技术标签:

【中文标题】用扩展扩展 PHP 语法?【英文标题】:Extending PHP syntax with extensions? 【发布时间】:2014-01-15 18:51:57 【问题描述】:

我试图将我在 Scala 和 Haskell 等语言中学到的一些东西引入 php 并进行试验。举一个具体的例子,我想扩展 PHP 语法,使其能够执行以下操作:

array_map( _ + 1, [1,2,3]) // returns [2,3,4]

据我了解,“扩展 PHP 语言”意味着两件事:

用 C 语言编写扩展并将其作为 php.ini extension 节 扩展用 C 编写的语言(解析器)本身(Zend 引擎?)

我想我想要第二个项目,但我看到像 xdebug 这样的东西(对我来说)几乎深入研究了 PHP 内部。我有点希望也许我可以扩展 PHP 语法而不需要与它的解析器搏斗?

【问题讨论】:

只是好奇。 array_map( _ + 1, [1,2,3]) 应该做什么? 在数组@AmalMurali 上映射函数,如function($x)return $x+1; @Cthulhu:我明白了。 _ 是什么意思?每个数组元素? 不完全 - 只是缺少价值。所以它变成了一个函数,它接受一个值并为它返回结果@AmalMurali 不,这是不可能的。您不能从扩展中进行语法更改。 【参考方案1】:

要修改 PHP 的语法,您需要修改它的解析器。这不是您可以通过扩展完成的事情。 Xdebug 可能会深入研究引擎,但它只读取信息。

【讨论】:

以上是关于用扩展扩展 PHP 语法?的主要内容,如果未能解决你的问题,请参考以下文章

PHP 扩展开发初探

Eclipse 语法高亮显示:尝试为新文件扩展名指定它,但它不起作用

用Nginx如何配置运行无扩展名PHP文件或非.PHP扩展名文件

mongodb创建集合与php扩展

用 java/c++ 扩展 php?

用wampserver配置PHP环境,想使用PHP的mcrypt加密扩展库进行加密应该怎么安装扩展库?