是否有PHP文件的静态代码分析器?二进制本身可以检查语法错误,但我正在寻找更多的东西,比如未使用的变量赋值,分配到的数组,而不是先被初始化,以及可能的代码样式警告.开源程序将是首选,但如果强烈建议,我们可能会说服公司支付费用.
我有一个代码库,开发人员决定使用AND而OR不是&&和||.
我知道运营商的优先级(&&之前and)有所不同,但是对于给定的框架(PrestaShop来说准确),显然不是理由.
你使用的是哪个版本?是and不是更具有可读性&&?或者没有区别?
同事已经在我们的库中添加了几次assert命令,在那里我将使用if语句并抛出异常.(在此之前我从未听说过断言.)以下是他如何使用它的一个例子:
assert('isset($this->records); /* Records must be set before this is called. */');
Run Code Online (Sandbox Code Playgroud)
我会做的:
if (!isset($this->records)) {
throw new Exception('Records must be set before this is called');
}
Run Code Online (Sandbox Code Playgroud)
通过在assert上阅读PHP文档,看起来建议您确保assert处于活动状态并在使用assert之前添加处理程序.我找不到他这样做的地方.
所以,我的问题是,鉴于上述情况,使用断言是一个好主意,我应该更频繁地使用它而不是if和例外吗?
另外,我们计划在各种项目和服务器上使用这些库,包括我们甚至可能不参与的项目(库是开源的).这在使用assert时有什么不同吗?