PHP:我可以像.NET一样编译/构建我的网站吗?

时间:2011-04-11 02:20:18

标签: php

我是PHP的新手,并且正在开发基于类的网站。所以我的问题很简单。我可以像在.NET中一样编译网站吗?

这对我有帮助,因为我改变了我的IsAAction接口以接受错误回调函数作为Execute函数的参数,我希望我的所有实现都能破解,所以我可以很容易地看到在哪里更改它们。 / p>

提前致谢。

5 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

https://github.com/facebook/hiphop-php/wiki - 虽然我确信这里有other answers你会觉得有用。

答案 2 :(得分:1)

stackoverflow上有一个与之相关的开放主题。

Can you “compile” PHP code?

某些方面,例如 Facebook 重写了 PHP运行时,或者它的一部分,因此它们可以运行编译的PHP代码或其他源代码,几乎无论你喜欢什么。

HipHop for 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是一种脚本语言。