Skip to content
This repository was archived by the owner on May 13, 2026. It is now read-only.
This repository was archived by the owner on May 13, 2026. It is now read-only.

Bug in configuring patternengines (and listeners?) since PHP 8.0 #177

Open

Description

@percoction

We use patternlab-php-core and edition-php-twig-standard in our project.

We noticed that since PHP 8.0 the config in config/patternengines.json is missing the class namespaces.

I believe this due to an update to the functionality of the token_get_all() built in PHP function, used in InstallerUtil::findClasses().

The fix may be as simple as updating line 135 to consider the new namespace token types:
if (in_array($tokens[$i][0], array(T_STRING, T_NS_SEPARATOR, T_NAME_FULLY_QUALIFIED, T_NAME_QUALIFIED, T_NAME_RELATIVE))) {

Activity

  1. joshuathorne commented on Aug 1, 2022

    @joshuathorne

    I'm also experiencing this build error.
    patternlab updated config/patternengines.json to:
    {"patternengines":["\\PatternLab\\PatternEngine\\Twig\\PatternEngineRule","\\PatternEngineRule"]}

    error is:
    PHP Fatal error: Uncaught Error: Class '\PatternEngineRule' not found in /app/vendor/pattern-lab/core/src/PatternLab/PatternEngine.php:71

    I resolved it by manually changing patternengines.json to: {"patternengines":["\\PatternLab\\PatternEngine\\Twig\\PatternEngineRule"]}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions