Heredoc PHP Heredoc PHP syntax is a way to write large bloc of text inside PHP, without the classic single quote, double quotes delimiters. It relies on <<< and a token that will also mark the end of the string. <?php $string = <<<STRING $x elephpants STRING ; ?> Heredoc has also the Nowdoc alternative, that […]
静态分析指在不执行代码的情况下审查代码。这样的代码审查可以是一个项目的一个阶段,或者当代码被转移给一个新的程序员(他也可能是6个月后的你自己)的时候自然发生。在两种情况下,目的都是通过阅读代码找到缺陷,理解它和找到不可能的情况。
Static analysis refers to the review of code without executing it. Such review may be done as a phase of a coding project, or naturally occurring when the code is handed to a new programmer (That new programmer may also be yourself, six months later). In both case, the goal is to spot defects by […]
代码是如何死亡的 代码出生,成长,成熟,衰老然后死亡。它可能被视作一个生命体,就像我的花园里的郁金香一样。把这样一个图景放到代码上有点可怕:小小的笔误出现了,一点点代码消失了,常量随着时间的推移改变着它们的值(代码也有通货膨胀吗?),一部分代码长出来了没有任何道理。这样一个样子,那么难怪代码会有一个寿终正寝的时候。
Prepare for PHP 7 error messages The first step to prepare for PHP 7 is to lint it : using the command line instruction ‘php -l script.php’, one can easily check that every file in a current application compile with PHP 7. The second step is to run the application and the unit tests : in […]
How many improvement can you spot in this one liner ? echo (“this “.$will.” be displayed.”); No need for parenthesis with echo The first, and probably the most obvious, are the useless parenthesis. The echo is a ‘structure of language’, aka a special kind of function for PHP : among others, it doesn’t need any […]
Caching with PHP static variables Whenever a methodcall is used repeatedly in a piece of code, you may wonder if it wouldn’t be more efficient to cache the value locally, avoid the functioncall altogether and speed up the process. Let us see how we can cache with PHP static variables. Functioncalls are rather intensive : PHP […]
Clear PHP reaches 100 rules Last week, we published the 100th rule in clear PHP. They represent recommendations to write clear PHP code. Such recommendations has various effect : avoid common pitfalls (No Unchecked Resources) prepare code for recent versions (Use Smart Autoload) complete some check that the engine doesn’t do ( No Switch With […]
array_unique function is a native function that will extract distinct values in an array. array_count_values is also a native function that will extract distinct values in an array, and count the number of occurrences. array_count_values actually does a lot more work than array_unique by providing a count of the distinct values, on top of finding […]
I’ll be giving a talk ‘automated PHP code audits‘ to the 010php user group, in Rotterdam. “Even nowadays, PHP code is mostly manually audited. Expert pore over actual code, in search for bugs or code smells. Actually, it is possible to have PHP do this work itself ! Strengthened with the internal Tokenizer, bolstered by […]