Introduce an alias which represents a callable that may not be defined in the current scope - #6
Conversation
…ay not be defined in the current scope.
| * @param int $priority The exact priority used when adding the original filter callback. | ||
| * @return bool Whether the callback existed before it was removed. | ||
| * @phpstan-param callable|string|array{ 0: string|object, 1: string, ... } $callback | ||
| * @phpstan-param Maybe_Callable $callback |
There was a problem hiding this comment.
OK, there is a 2-year-old Jetbrains issue requesting support for PHPStan type aliases: https://youtrack.jetbrains.com/projects/WI/issues/WI-79519/PHPStorm-doesnt-recognise-PHPStan-global-type-aliases
So presumably this will land eventually.
However, VS Code + Intelephense doesn't yet support this either: bmewburn/vscode-intelephense#3525
But VS Code + DEVSENSE PHP Tools does support this.
There was a problem hiding this comment.
Something else to consider is whether the developer docs parser would need to be updated to support this.
In looking at the docs for \WP_Post::to_array(), I see that it doesn't do any parsing of:
@phpstan-return Data_ArrayI also see the same in the docs for \WP_Connector_Registry::register(), that the @return is parsed but the @phpstan-return which includes tyhe type Connector is not mentioned.
So I think it's OK, if we only ever use these PHPStan type aliases in @phpstan- prefixed tags. However, I remember you mentioned the desire to be able to move away from having to do this. If so, then updating the developer docs parser would need to be added to the prerequisites.
There was a problem hiding this comment.
I'm still not sure what to do about @phpstan- prefixed tags. I'll draft a make/core post soon.
There was a problem hiding this comment.
See also WordPress#13233 which could lessen the need to add @phpstan- prefixed tags.
westonruter
left a comment
There was a problem hiding this comment.
@johnbillion If you're good with https://github.com/westonruter/wordpress-develop/pull/6/changes#r3833762455 this can be merged.
cdf3f04
into
westonruter:fix/wp-hooks-phpstan-level-10-errors

See review comments on WordPress#12443