LaravelPackages.net
Acme Inc.
Toggle sidebar
ihor-radchenko/laravel-ide-helper-macros

Generate phpDoc for laravel macroable class.

622
5
1.0.6
About ihor-radchenko/laravel-ide-helper-macros

ihor-radchenko/laravel-ide-helper-macros is a Laravel package for generate phpdoc for laravel macroable class.. It currently has 5 GitHub stars and 622 downloads on Packagist (latest version 1.0.6). Install it with composer require ihor-radchenko/laravel-ide-helper-macros. Discover more Laravel packages by ihor-radchenko or browse all Laravel packages to compare alternatives.

Last updated

Laravel IDE Macros

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
{

Star History Chart