ihor-radchenko / laravel-ide-helper-macros
Generate phpDoc for laravel macroable class.
Requires
- php: ^7.1.3
- barryvdh/reflection-docblock: ^2.0.6
- laravel/framework: 5.*
This package is not auto-updated.
Last update: 2025-03-30 06:55:49 UTC
README
It is advised to be used with Laravel IDE Helper, which generates helper files for your IDE, so it'll be able to highlight and understand some Laravel-specific syntax. This package can generate phpDocs for Laravel classes, based on Macroable trait.
Installation
Require this package with composer using the following command:
composer require --dev ihor-radchenko/laravel-ide-helper-macros
If you are using Laravel 5.4 or lower, you must register the IdeHelperMacrosServiceProvider
manually.
Configuration
Run the following command to publish the configuration file to config/ide-helper-macros.php
:
php artisan vendor:publish --provider="IhorRadchenko\LaravelIdeHelperMacros\IdeHelperMacrosServiceProvider"
Automatic phpDoc generation for Laravel Macroable classes
You need add macro or mixin in some service provider, example:
/** * Bootstrap services. * * @return void */ public function boot(): void { /** * @param array $data * * @return \Illuminate\Http\Response */ \Illuminate\Http\Response::macro('addContent', function (array $data) { /** @var \Illuminate\Http\Response $this */ $response = $this; $content = json_decode($response->getContent(), true); if (is_array($content)) { $response->setContent(json_encode(array_merge($content, $data))); } return $response; }); }
And run the following command to generate the phpDocs IDE helpers:
php artisan ide-helper:macros
After that the following block will be generated in the \Illuminate\Http\Response class:
/** * Illuminate\Http\Response * * @method \Illuminate\Http\Response addContent(array $data) * @package ide_helper_macros */ class Response extends BaseResponse {