我有兴趣为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)
你所做的是:
- 您定义自己的文件扩展名
- str_replace您自己的代码与php代码<=这将是你的编译器
- 运行您创建的php代码
注意:这也是模板引擎的工作方式,比如Twig。
气馁
最后,您要么编写php,要么编写C#。
- Php不需要泛型,因为它没有经过类型检查
注意:即使你成功了,他们也不会是一个带有IntelliSense的IDE来编写你的代码。
为什么你想让php像C#一样,为什么不只是用C#代码呢?
注意:使用新的Roslyn编译器,vNext(MVC6)也将能够在Linux服务器上运行。