exakat 0.12.4评论

exakat.0.12.4 review

exakat 0.12.4为您的荣幸。 exakat上周已经在倍数前沿进行了进展:PHP 7.2现在完全覆盖迁移。 exakat现在有一个新的最爱:和/&&;一个新的报告‘object’关键字,一个缩减ISSET()调用的建议,以及阵列的魔法错误。最后,我们对Tinkergraph和Gremlin-Server的exakat稳定性取得了重大进展。让’S审查exakat 0.12.4在一起!

‘object’现在禁止课程的关键字

在PHP 7.2中,现在禁止使用关键字‘object’作为类名。我想这会像打电话一样常见‘Void’ or ‘Null’(我做了......)但现在,这是完全禁止的。如果您受到影响,请更改代码。

新的代码收藏:和/&&

新的最喜欢的报告用作写入字母(以及或,XOR)或字符()写入的逻辑运算符&&,||,^)。其中两个被用作可更换的。例如,

<?php 
  if(isset($a) and $a != '') {}
  if(isset($a) && $a != '') {} 
?>

与此代码一样,它们绝对不一样:

<?php 
   $b = isset($a) and $a != ''; 
   $b = isset($a) && $a != ''; 
?>

当它们以交换方式使用时,它们可能是项目偏好,并且报告如此。

ISSET()减少

ISSET()检查是否存在表达式,并且很少知道它也接受多个参数,将它们与a组合起来‘and’操作员。这样,以下情况是相同的:

<?php 
  if (isset($a) && isset($b) && isset($c)) {} 
  if (isset($a, $b, $c)) {} 
?>

或者,相反的是有效的:

<?php 
  if (!isset($a) || !isset($b) || !isset($c)) ) {} 
  if (!isset($a, $b, $c)) {} 
?>

这将使代码更短,并且可能更多。它’一个奇迹举一次很好的伎俩’s sleeves.

数组没有魔法属性

PHP 5给我们带来了Magic方法:__get()和__set(),每当属性无法访问(私有或不存在)时都会调用。这是一个神奇的财产:一个人可以与之交互,而虽然它不起作用’t exist.

<?php 
class foo { 
  function __set($name, $value) { 
    $this->values[$name] = $value; 
  } 
} 

$bar = new foo(); 
$bar->a  = 33; // set 33
?>

一个鲜为人知的警告是不支持书写的阵列。例如 :

<?php 
  $bar = new foo(); 
  $bar->a[3] = 33;  
?>

这里,数组语法[3]可以调用__set()。相反,调用__get()。但__get()仅用于读取值,而不是写它。这导致这个奇怪的错误:
“间接修改过载财产”
要解决这个问题,只需宣布该物业,避免使用魔法。

图表数据库

内部图数据库的新驱动程序稳定可靠。我们现在在一个独特的1600个开源项目中进行测试。已经应用了几种优化来加快装载和处理阶段。更多地应用更多,以确保发动机正在运行和嗡嗡声。

快乐的PHP代码评论

exakat.0.12.4提供了对迁移到PHP 7.2的首次完全支持。 PHP 7.2将是过渡版本,准备代码以获得功能的主要弃用。使用它来使您的代码清除旧片段和功能。
所有310多个分析仪都介绍在文档中,包括PHP 7.0‘while(list()=每个())‘ (http://exakat.readthedocs.io/en/latest/Rules.html#while-list-each),这是PHP 3行为,应该由Foreach()替换。下载exakat mrofuw.icu.,升级它‘exakat.phar升级-u’像我们在Github上一样: //github.com/exakat/exakat.