添加用于扩展php的语法,而不是使用php-cpp的库


Adding a syntax for extending php rather than a library with php-cpp

我有兴趣为php语法添加一些功能,很明显,这与为该语言编写模块不同。我想知道这需要用C语言编辑资源,这在php.net网站上是可用的,当然也需要C编程知识。我只想做以下事情:

xforeach ($array as $item with $counter) {
    echo "This is $counter time this loop is happening";
}

而不是写作:

$counter = 0;
foreach ($array as $item) {
    echo "This is $counter time this loop is happening";
    $counter ++;
}

或者在另一个一瞥中,为每个类或函数添加属性,就像在C#中一样

class MyClass {
    [Description("This is my php 6 version")]
    public function Test() {

    }
}

实现这种方法的第一步是什么?

查看其他人是如何做到的:http://hacklang.org/(来自脸书)

他们在php上构建自己的语言(最终编译为php)

你所做的是:

  1. 您定义自己的文件扩展名
  2. str_replace您自己的代码与php代码<=这将是你的编译器
  3. 运行您创建的php代码

注意:这也是模板引擎的工作方式,比如Twig。

气馁

最后,您要么编写php,要么编写C#。

  • Php不需要泛型,因为它没有经过类型检查

注意:即使你成功了,他们也不会是一个带有IntelliSense的IDE来编写你的代码。

为什么你想让php像C#一样,为什么不只是用C#代码呢?

注意:使用新的Roslyn编译器,vNext(MVC6)也将能够在Linux服务器上运行。