config.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * This configuration will be read and overlaid on top of the
  4. * default configuration. Command-line arguments will be applied
  5. * after this file is read.
  6. */
  7. return [
  8. // Supported values: `'5.6'`, `'7.0'`, `'7.1'`, `'7.2'`, `'7.3'`,
  9. // `'7.4'`, `null`.
  10. // If this is set to `null`,
  11. // then Phan assumes the PHP version which is closest to the minor version
  12. // of the php executable used to execute Phan.
  13. //
  14. // Note that the **only** effect of choosing `'5.6'` is to infer
  15. // that functions removed in php 7.0 exist.
  16. // (See `backward_compatibility_checks` for additional options)
  17. 'target_php_version' => null,
  18. 'minimum_target_php_version' => '8.2',
  19. // A list of directories that should be parsed for class and
  20. // method information. After excluding the directories
  21. // defined in exclude_analysis_directory_list, the remaining
  22. // files will be statically analyzed for errors.
  23. //
  24. // Thus, both first-party and third-party code being used by
  25. // your application should be included in this list.
  26. 'directory_list' => [
  27. 'benchmark',
  28. 'examples',
  29. 'src',
  30. 'tests',
  31. 'vendor',
  32. '.phan/stubs',
  33. ],
  34. // A regex used to match every file name that you want to
  35. // exclude from parsing. Actual value will exclude every
  36. // "test", "tests", "Test" and "Tests" folders found in
  37. // "vendor/" directory.
  38. 'exclude_file_regex' => '@^vendor/.*/(tests?|Tests?)/@',
  39. // A directory list that defines files that will be excluded
  40. // from static analysis, but whose class and method
  41. // information should be included.
  42. //
  43. // Generally, you'll want to include the directories for
  44. // third-party code (such as "vendor/") in this list.
  45. //
  46. // n.b.: If you'd like to parse but not analyze 3rd
  47. // party code, directories containing that code
  48. // should be added to both the `directory_list`
  49. // and `exclude_analysis_directory_list` arrays.
  50. 'exclude_analysis_directory_list' => [
  51. 'vendor/',
  52. '.phan/stubs',
  53. ],
  54. 'suppress_issue_types' => [
  55. 'PhanAccessMethodInternal',
  56. ],
  57. ];