"8.3", "minimum_target_php_version" => "8.3", // turn color on (-C) "color_issue_messages_if_supported" => true, // If true, missing properties will be created when // they are first seen. If false, we'll report an // error message. "allow_missing_properties" => false, // Allow null to be cast as any type and for any // type to be cast to null. "null_casts_as_any_type" => false, // Backwards Compatibility Checking 'backward_compatibility_checks' => false, // Run a quick version of checks that takes less // time "quick_mode" => false, // Only emit critical issues to start with // (0 is low severity, 5 is normal severity, 10 is critical) "minimum_severity" => 0, // enable for dead code check // this will spill out errors for all methods never called // use after all is OK to try to find unused code blocks // ignore recommended: PhanUnreferencedPublicMethod // "dead_code_detection" => true, // default false for include path check "enable_include_path_checks" => true, "include_paths" => [ '.', '../configs/' ], 'ignore_undeclared_variables_in_global_scope' => true, "file_list" => [ "./www/configs/config.db.php", "./www/configs/config.host.php", "./www/configs/config.path.php", "./www/configs/config.other.php", "./www/configs/config.master.php", "./www/includes/admin_header.php", ], // 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' => [ // Change this to include the folders you wish to analyze // (and the folders of their dependencies) 'www', // To speed up analysis, we recommend going back later and // limiting this to only the vendor/ subdirectories your // project depends on. // `phan --init` will generate a list of folders for you //'www/vendor', ], // A list of directories holding code that we want // to parse, but not analyze "exclude_analysis_directory_list" => [ 'www/vendor', 'www/tests', 'www/templates_c', 'www/log', 'www/tmp', 'www/cache', 'www/media', ], 'exclude_file_list' => [ // ignore all symlink files to edit 'www/admin/edit_access.php', 'www/admin/edit_groups.php', 'www/admin/edit_languages.php', 'www/admin/edit_menu_group.php', 'www/admin/edit_order.php', 'www/admin/edit_pages.php', 'www/admin/edit_schemes.php', 'www/admin/edit_users.php', 'www/admin/edit_visible_group.php', // ignore the old qq tests 'www/admin/qq_file_upload_front.php', 'www/admin/qq_file_upload_ajax.php', ], // what not to show as problem 'suppress_issue_types' => [ // 'PhanUndeclaredMethod', 'PhanEmptyFile', // ignore unreferences public methods, etc here (for dead code check) 'PhanUnreferencedPublicMethod', 'PhanUnreferencedClass', 'PhanWriteOnlyPublicProperty', 'PhanUnreferencedConstant', 'PhanWriteOnlyPublicProperty', 'PhanReadOnlyPublicProperty', // start ignore annotations 'PhanUnextractableAnnotationElementName', 'PhanUnextractableAnnotationSuffix', // enum problems in comments 'PhanCommentObjectInClassConstantType' ], // Override to hardcode existence and types of (non-builtin) globals in the global scope. // Class names should be prefixed with `\`. // // (E.g. `['_FOO' => '\FooClass', 'page' => '\PageClass', 'userId' => 'int']`) 'globals_type_map' => [], ];