Get the class using its name, not just its namespace name #2429
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi!
In raising this pull request, I confirm the following:
Small description of change: I made this change while diagnosing why https://github.com/RubixML/Tensor could not be compiled against PHP 8.3, it was encountering the same issue as described in #2277.
The compile errors were, for example:
/Users/chrisl/Code/Tensor/ext/tensor/vector.zep.c:3715:30: error: use of undeclared identifier '_tensor_ce'
This was because for an example class
Tensor\Vector
the compiler was generating the identifier_tensor_ce
instead oftensor_vector_ce
.I tracked this down to
zephir/src/Class/Entry.php
Line 111 in c68f9cd
If I force the code to use the simpler technique by making the conditional at
zephir/src/Class/Entry.php
Line 93 in c68f9cd
$classNamespace
and$className
correctly for the code that follows the if statement. It appeared that$classNamespace
should be the FQDN, not just the namespace.I was not sure whether this was the correct fix for this issue, so I welcome any feedback.