金沙上线.2.1.8 review金沙上线.2.1.8 Review

金沙上线 2.1.8在夏天的最后一个温暖闪耀。现在是时候开始了PHP 8.0的秘密道路及其惊喜不相容;或使用即将推出的属性更新PHP代码存根。在旅途中,我们’LL停止观察新的SARIF格式,PHP中静态分析工具的标准和其他地方。

享受Exakat 2.1.8审查。

金沙上线存根中的属性支持

属性即将到来8.0。它们是将元数据添加到编码结构的方法,例如类,接口,特征或功能。他们将替代我们熟悉的结构化的phpdoc。

PHP 8.0属性看起来像这样 最后的投票 on the #[Attribute] syntax.

#[Attribute]
class Foo
{
    #[AttributeProperty]
   public string $bar;

    #[AttributeMethod]
   public function __construct(string $bar) {
       $this->bar = $bar;
   }
}

We’LL看到逐步采用属性,因为工具将适应这种新方法来传达代码中的配置。 IDE是这些工具的一部分,我们’LL准确需要新的存根来文件框架。

金沙上线.provides two ways to create stubs. 存根 Stubsjson. both extract all information concerning a code source, and builds a 存根 .php file with all needed PHP code, or a 存根 .json file, with the same information, stored in JSON format.

Indeed, internally, Exakat uses the Json version to build the PHP version. Json will also be used soon to provide stubs during Exakat audits, with better performances and more flexibility. We shall detail that point in an upcoming version. Some of the work in progress is already available on 金沙上线 / stubs..

新报告:SARIF

金沙上线.2.1.8提供了一个名为SARIF的新报告。 静态分析结果交换格式(SARIF)版本2.0 是静态分析结果的标准。

基于JSON,它提供了一种描述审计期间检测到的问题的方法。精确的位置(文件和行号),还有文档,描述,严重性级别和唯一标识符。

本标准是一种机器导向标准,旨在减少每个SCA使用的格式之间的差距。在PHP世界中,这是正确的 每个工具 像诗篇,Phan,Noverify等。退回不同的格式。 金沙上线单独提供超过30种不同的格式,包括人类可读的格式。

使用SARIF格式意味着将出现生成可视化工具:SARIF查看器。既然问题已经标准化了,可以收集多个源,在一个GUI中显示它们,并通过利用在代码上利用多个视点来提供互补分析。寻找项目理念的人都应该拍摄这一点。

如果你 know a Sarif Viewer, 让我们知道 .

直到所有出现的phpmysarif出现,我们就可以使用 s Web组件 来自微软,和 GitHub代码扫描 。 金沙上线. ’s s 报告与它们中的两个兼容,所以我们可以使用它。

准备PHP 8.0

PHP 8.0 Beta 4 出了,所以是时候准备好迁移了。既然特征冻结已经过去(自7月以来,介意你), 行为变更和弃用 are being surveyed.

金沙上线已经在努力收集这些不兼容,这将防止当前代码迁移而不会发生变化。虽然那些障碍不是太多,但有些人很重要。更重要的是,正如我们说话的那样,他们现在可能会被抓住。该列表包括:

要快速检查,请使用以下命令(金沙上线.installation, 以防万一)。

php 金沙上线.phar init -p myProject -R projectUrl
php 金沙上线.phar project -p myProject 
php 金沙上线.phar report -p myProject --format Text -T CompatibilityPHP80

The result will be displayed on the standard output, unless you mention the -f <filename>option, which will save it to a file called filename in the projects/myProject/ directory.

如果你’还没有,你也可以尝试 兼容性74. 或者 兼容性73., 例如。

每周审计:2020,周#41

金沙上线包括A.‘weekly’报告:此报告采用五项分析为构建。这意味着短暂的审计报告,几乎没有问题审查。读取它们并不是很多,并在代码中查看它们。 PHP社区中的每个人都可以专注于一个经典的编码问题并解决它。谈谈周围的每周审计:你’LL找到面临同样挑战的程序员。

获得‘weekly’审核,运行审计,请求‘Weekly’ report.

# Init the project (skip when it is already done)    
php 金沙上线.phar init -p <yourproject> -R //github.com/Seldaek/monolog.git -git 

# Run the project (skip when it is already done)    
php 金沙上线.phar project -p <yourproject> 

# Export the weekly project (every Monday)    
php 金沙上线.phar report -p <yourproject> -format Weekly 

# Open projects/<yourproject>/weekly/index.html in your browser    

每周,您可以在此找到5个新分析,以便在您的代码中审查。事实上,当您的代码干净时,您也可以快速查看即将到来的分析。

每周 recommendations for PHP code review : 2020, week 2020-41

快乐的PHP代码评论

所有407个分析仪都介绍在文档中,包括镜子: 无效的包格式。它在Pack()调用中斑点无效。它’是一个罕见的错误,但PHP赢了’t检查有效期,直到执行,所以它以前值得检查。

您可以查看图库中的所有金沙上线报告: 金沙上线画廊.

下载金沙上线.io,安装它 Docker. ,升级它‘金沙上线.phar升级-u’ and like us on GitHub. .