我是PHP的新手,并且正在开发基于类的网站。所以我的问题很简单。我可以像在.NET中一样编译网站吗?
这对我有帮助,因为我改变了我的IsAAction接口以接受错误回调函数作为Execute函数的参数,我希望我的所有实现都能破解,所以我可以很容易地看到在哪里更改它们。 / p>
提前致谢。
答案 0 :(得分:1)
是和否。参见:
和
和
答案 1 :(得分:1)
https://github.com/facebook/hiphop-php/wiki - 虽然我确信这里有other answers你会觉得有用。
答案 2 :(得分:1)
stackoverflow上有一个与之相关的开放主题。
某些方面,例如 Facebook 重写了 PHP运行时,或者它的一部分,因此它们可以运行编译的PHP代码或其他源代码,几乎无论你喜欢什么。
这不是一件容易的事。但你可以做到。
答案 3 :(得分:1)
可以编译PHP,因为您可以将其编译为机器代码,并防止每次访问文件时进行解析。像APC这样的加速器工作方式。但是你不能像.NET DLL一样编译它,事先检查每个错误。这将违背其动态性质。后期绑定意味着它将始终在运行时检查错误
对于您的特殊问题,我建议您在项目中添加单元测试。无论如何,它们非常很好,它们将帮助您在接口实现中捕获错误。没有他们,我个人无法生活。您可能想要检查PHPUnit或SimpleTests。
编辑要理解为什么PHP无法检查您的错误,请查看此代码段。
if ($_GET['impl'] == 'interface1') {
interface MyInterface {
function foo($var);
}
} else {
interface MyInterface {
function bar($var, $var2);
}
}
class Implementation implements MyInterface { //Will crash or not depending on the URL!
function foo($var) {}
}
答案 4 :(得分:0)
据我所知。 PHP是一种脚本语言。