Skip to content

New implementation of the hooks generation #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 24 commits into from
Dec 4, 2024
Merged

Conversation

johnbillion
Copy link
Collaborator

In order to extract the hooks information from files, this library uses WP Parser Lib which itself uses a very outdated version of phpdocumentor/reflection that doesn't support newer versions of PHP. It only really works fully on PHP 7.4. See WordPress/phpdoc-parser#228 for details.

Updating phpdocumentor/reflection in WP Parser Lib is proving to be a lot of effort. @otrocodigo has made a good effort in wp-hooks/parser#1 but it's not yet complete and needs further updates in this library in order to support it.

I've also never been very happy with the depth of nested dependencies that result from this.

As an alternative approach, we can move the file parsing and hook extraction into this library and directly use php-parser to extract the hook information (phpdocumentor/reflection by default extracts a lot more info that we don't need). This simplifies the dependency tree and allows PHP 7.4 through 8.3 to be supported.

namespace JohnBillion\WPHooksGenerator;
namespace WPHooks\Generator;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not know this faceless guy called "Hooks".
I like John better.

@szepeviktor
Copy link

While you're at it, could you add this EditorConfig file?
https://github.com/wp-hooks/php-api/blob/trunk/.editorconfig

@johnbillion johnbillion added this to the 1.0.0 milestone Dec 4, 2024
@johnbillion johnbillion merged commit e866bde into trunk Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants