作为一个用于静态类型的开发人员,我通常会让编译器告诉我代码是否正确,当然排除了逻辑缺陷。但是,当重构PHP时,我发现很难知道我的代码是正确的。重构时的PHP代码验证
对于一些方法或成员,总是会有一些持续的引用,这些方法或成员会被破坏并在运行时才显示出来。即使在Zend Studio中使用有限的重构支持,事情也往往会以某种方式被破坏。
由于语言本身的动态性,我知道这是一个难题。但是有没有什么工具可以静态验证PHP代码,以便我知道在运行之前就没问题了?我不想再看到“未定义的属性”错误消息。
作为一个用于静态类型的开发人员,我通常会让编译器告诉我代码是否正确,当然排除了逻辑缺陷。但是,当重构PHP时,我发现很难知道我的代码是正确的。重构时的PHP代码验证
对于一些方法或成员,总是会有一些持续的引用,这些方法或成员会被破坏并在运行时才显示出来。即使在Zend Studio中使用有限的重构支持,事情也往往会以某种方式被破坏。
由于语言本身的动态性,我知道这是一个难题。但是有没有什么工具可以静态验证PHP代码,以便我知道在运行之前就没问题了?我不想再看到“未定义的属性”错误消息。
为您的代码(http://www.phpunit.de/),建立一个持续集成服务器,运行UI测试(http://pear.php.net/package/Testing_Selenium/)编写测试。通过足够的测试,您会在提交错误代码后立即发现问题。只要保持测试代码覆盖率高。
这是单元测试的要点之一 - 您可以重构代码而不会真正打破它,因为每次更改后都会检查所有功能。
单元测试。我是作者Testilence
+1我同意,很好的答案。 – 2009-12-07 22:21:16
PHPUnit实际上提供集成的Selenium测试,无需拉入PEAR包。这真的很光滑。 – 2010-01-31 20:40:56