第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Symfony5 項目的 Phan/phan 配置

Symfony5 項目的 Phan/phan 配置

PHP
吃雞游戲 2023-06-24 17:08:41
我是靜態(tài)分析新手,我正在嘗試在當前項目中使用 phan/phan 。我的 phan/config.php 如下。<?php/** * This configuration will be read and overlaid on top of the * default configuration. Command-line arguments will be applied * after this file is read. */return [    // Supported values: `'5.6'`, `'7.0'`, `'7.1'`, `'7.2'`, `'7.3'`,    // `'7.4'`, `null`.    // If this is set to `null`,    // then Phan assumes the PHP version which is closest to the minor version    // of the php executable used to execute Phan.    //    // Note that the **only** effect of choosing `'5.6'` is to infer    // that functions removed in php 7.0 exist.    // (See `backward_compatibility_checks` for additional options)    // TODO: Set this.    'target_php_version' => null,    // A list of directories that should be parsed for class and    // method information. After excluding the directories    // defined in exclude_analysis_directory_list, the remaining    // files will be statically analyzed for errors.    //    // Thus, both first-party and third-party code being used by    // your application should be included in this list.    'directory_list' => [        'src',        'vendor/symfony/console',    ],    // A regex used to match every file name that you want to    // exclude from parsing. Actual value will exclude every    // "test", "tests", "Test" and "Tests" folders found in    // "vendor/" directory.    'exclude_file_regex' => '@^vendor/.*/(tests?|Tests?)/@',    // A directory list that defines files that will be excluded    // from static analysis, but whose class and method    // information should be included.    //    // Generally, you'll want to include the directories for    // third-party code (such as "vendor/") in this list. 似乎 phan 無法檢測到 Symfony 供應商,我想知道如何糾正它?我正在 Symfony 5 項目中使用 php 7.4
查看完整描述

1 回答

?
飲歌長嘯

TA貢獻1951條經(jīng)驗 獲得超3個贊

我發(fā)現(xiàn)了,問題出在以下幾行:


'directory_list' => [

    'src',

    'vendor/symfony/console',

],

這是直接取自 Phan 示例配置的,但由于目錄列表中僅包含文件夾“vendor/symfony/console”,Phan 無法知道其他 Symfony 組件。


我已將其替換為:


'directory_list' => [

    'src',

    'vendor',

],

通過包含整個供應商目錄,它被解析并且 Phan 知道 src 中使用的每個供應商對象。


正如 Leprechaun 提到的,我遇到了另一個問題,注釋沒有被 phan 正確解析,并且必須包含以下插件


'plugins' => [

    'vendor/drenso/phan-extensions/Plugin/Annotation/SymfonyAnnotationPlugin.php'

],

現(xiàn)在可以了。


查看完整回答
反對 回復 2023-06-24
?
梵蒂岡之花

TA貢獻1900條經(jīng)驗 獲得超5個贊

看起來這是已知問題: https ://github.com/phan/phan/issues/1757

在此 Github 問題中,他們建議使用 Phan 擴展:https://github.com/Drenso/PhanExtensions#annotationsymfonyannotationplugin

或者嘗試使用 PHPStan 或 Psalm。


查看完整回答
反對 回復 2023-06-24
  • 1 回答
  • 0 關(guān)注
  • 143 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號