From 19945669508385d68bf6a4bfad2799dadba17b0d Mon Sep 17 00:00:00 2001 From: Alex Wells Date: Tue, 16 Sep 2025 11:55:13 +0200 Subject: [PATCH] docs: Page with explicitly states supported features --- docs/astro.config.mjs | 3 ++- .../getting-started/supported-features.mdx | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 docs/src/content/docs/getting-started/supported-features.mdx diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index 35b6225..8f672ce 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -30,7 +30,8 @@ export default defineConfig({ label: 'Getting Started', items: [ { label: 'Installation', link: '/' }, - { label: 'Usage', slug: 'getting-started/usage' }, + { slug: 'getting-started/usage' }, + { slug: 'getting-started/supported-features' }, { label: 'Changelog', link: 'changelog' }, ], }, diff --git a/docs/src/content/docs/getting-started/supported-features.mdx b/docs/src/content/docs/getting-started/supported-features.mdx new file mode 100644 index 0000000..bd5e2cb --- /dev/null +++ b/docs/src/content/docs/getting-started/supported-features.mdx @@ -0,0 +1,25 @@ +--- +title: Supported Features +--- + +Most native reflection features and most PHPDoc (or, rather PHPStan) features are supported. Here's a full list: + +- reflecting classes, interfaces, traits enums +- reflecting anonymous classes +- reflecting properties and methods +- `@template`, `@template-covariant`, `@template-contravariant`, upper bound (`of string`) and +default values (`= string`) - in classes and methods +- `@extends`, `@implements` and `@use` +- `@var` for properties and promoted properties +- `@param` for method parameters and promoted properties +- `@return` for method returns +- `@phpstan-` and `@psalm-` versions of all tags - with precedence +- all native types, template (generic) types and array tuples + +## What isn't supported, but would be welcomed + +- reflecting functions +- function/method return type inference from arguments +- conditional types +- type aliases (local and imported) +- some other PHPDoc tags