Static analysis helps migrate to PHP 7

Static analysis helps migrate to PHP 7 Static analysis is the analyze of PHP code without running it. The traditional way to do this is to read the code and understand it. The modern way is to use a static analysis software. Including static analysis as a regular sanity check in your coding process raises […]

7 new PHP static analysis with Exakat 0.6.0

7 new PHP static analysis No less than 7 new analyzers for Exakat, since last week version. Here is a quick review, as they are both varied and interesting. Identical conditions Identical conditions spots members of an complex logical expression that are identical. When several conditions are chained, it happens that some of the conditions […]

What is the largest PHP code base?

When testing the exakat static analysis engine, we need to run it on real code : even better, use the largest PHP code base available. Open Source projects are a real blessing there, since they come in different shapes and stripes. Some projects dates back from PHP 3 and evolved until now, some are directly […]

PHP Heredoc 的乐趣

Heredoc PHP Heredoc PHP 语法是PHP里面写入一大块的文字的方式,不是传统的使用单引号,双引号字符串分隔符。他依赖于 <<< 和一个用来表示这个字符串的结束的标示符。  <?php $string = <<<STRING $x elephpants STRING ; ?> Heredoc 还有一个Nowdoc替代, 它是Heredo的“单引号版本”。 它实际上在标示符定义上就是用了单引号,并且不会替换它里面的变量值。 <?php $string = <<<‘STRING’ $x elephpants STRING ; ?> Nowdoc 很少被使用。在Heredoc/Nowdoc的使用中,仅仅只有3%使用Nowdoc的语法。这个可能是因为Nowdoc最近才被加到语言中(PHP 5.3),又或者是典型的担心未来可能会要使用字符串中的变量。

什么是可行的静态分析

静态分析指在不执行代码的情况下审查代码。这样的代码审查可以是一个项目的一个阶段,或者当代码被转移给一个新的程序员(他也可能是6个月后的你自己)的时候自然发生。在两种情况下,目的都是通过阅读代码找到缺陷,理解它和找到不可能的情况。

代码死亡

代码是如何死亡的 代码出生,成长,成熟,衰老然后死亡。它可能被视作一个生命体,就像我的花园里的郁金香一样。把这样一个图景放到代码上有点可怕:小小的笔误出现了,一点点代码消失了,常量随着时间的推移改变着它们的值(代码也有通货膨胀吗?),一部分代码长出来了没有任何道理。这样一个样子,那么难怪代码会有一个寿终正寝的时候。