You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I used the Laravel macro feature to add a check method to the Filament MountableAction class within AppServiceProvider. While the functionality works correctly and has been tested, I want IDE (PhpStorm) to provide proper autocompletion for this method. I attempted to generate the hints using ide-helper:generate, but it did not include the macro method.
After analyzing the ide-helper codebase, I discovered that its macro method generation is incompatible with Filament’s macro structure.
**Root Cause:**
Laravel’s default macro structure follows the format: 'method_name' => Closure.
Filament’s macros use a nested structure: 'method_name' => [CLASS_NAME => Closure].
This mismatch causes ide-helper to encounter errors when retrieving macro methods, resulting in the method being skipped entirely during code generation.
The text was updated successfully, but these errors were encountered:
@pslxx I tried your solution temporarily, in hope I could create a PR for this. However in my case my macro has NOT been generated in my _ide_helper.php file. So are you sure you have shown all your temporary changes?
P.s. i highly recommend to use code markup when presenting code. its easy, because you just have to copy paste your code between ```php\n \n``` and every reader is able to easily copy (and test out) your code. Screenshots are a really bad practice for presenting code ...
Example:
if (is_array($macro_func) && is_callable(array_values($macro_func)[0])) {
returnnewReflectionFunction(array_values($macro_func)[0]);
}
Versions:
Description:
Steps To Reproduce:
I used the Laravel macro feature to add a check method to the Filament MountableAction class within AppServiceProvider. While the functionality works correctly and has been tested, I want IDE (PhpStorm) to provide proper autocompletion for this method. I attempted to generate the hints using ide-helper:generate, but it did not include the macro method.
After analyzing the ide-helper codebase, I discovered that its macro method generation is incompatible with Filament’s macro structure.
**Root Cause:**
Laravel’s default macro structure follows the format: 'method_name' => Closure.
Filament’s macros use a nested structure: 'method_name' => [CLASS_NAME => Closure].
This mismatch causes ide-helper to encounter errors when retrieving macro methods, resulting in the method being skipped entirely during code generation.
The text was updated successfully, but these errors were encountered: