Laravel IDE Helper

Overview

Laravel IDE Helper Generator

Latest Version on Packagist Software License Build Status Total Downloads

Complete PHPDocs, directly from the source

This package generates helper files that enable your IDE to provide accurate autocompletion. Generation is done based on the files in your project, so they are always up-to-date.

Installation

Require this package with composer using the following command:

composer require --dev barryvdh/laravel-ide-helper

This package makes use of Laravels package auto-discovery mechanism, which means if you don't install dev dependencies in production, it also won't be loaded.

If for some reason you want manually control this:

  • add the package to the extra.laravel.dont-discover key in composer.json, e.g.
    "extra": {
      "laravel": {
        "dont-discover": [
          "barryvdh/laravel-ide-helper"
        ]
      }
    }
  • Add the following class to the providers array in config/app.php:
    Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
    If you want to manually load it only in non-production environments, instead you can add this to your AppServiceProvider with the register() method:
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }

Note: Avoid caching the configuration in your development environment, it may cause issues after installing this package; respectively clear the cache beforehand via php artisan cache:clear if you encounter problems when running the commands

Usage

Check out this Laracasts video for a quick introduction/explanation!

Note: You do need CodeComplice for Sublime Text: https://github.com/spectacles/CodeComplice

Automatic PHPDoc generation for Laravel Facades

You can now re-generate the docs yourself (for future updates)

php artisan ide-helper:generate

Note: bootstrap/compiled.php has to be cleared first, so run php artisan clear-compiled before generating.

This will generate the file _ide_helper.php which is expected to be additionally parsed by your IDE for autocomplete. You can use the config filename to change its name.

You can configure your composer.json to do this each time you update your dependencies:

"scripts": {
    "post-update-cmd": [
        "Illuminate\\Foundation\\ComposerScripts::postUpdate",
        "@php artisan ide-helper:generate",
        "@php artisan ide-helper:meta"
    ]
},

You can also publish the config file to change implementations (ie. interface to specific class) or set defaults for --helpers.

php artisan vendor:publish --provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --tag=config

The generator tries to identify the real class, but if it cannot be found, you can define it in the config file.

Some classes need a working database connection. If you do not have a default working connection, some facades will not be included. You can use an in-memory SQLite driver by adding the -M option.

You can choose to include helper files. This is not enabled by default, but you can override it with the --helpers (-H) option. The Illuminate/Support/helpers.php is already set up, but you can add/remove your own files in the config file.

Automatic PHPDoc generation for macros and mixins

This package can generate PHPDocs for macros and mixins which will be added to the _ide_helper.php file.

But this only works if you use type hinting when declaring a macro.

Str::macro('concat', function(string $str1, string $str2) : string {
    return $str1 . $str2;
});

Automatic PHPDocs for models

If you don't want to write your properties yourself, you can use the command php artisan ide-helper:models to generate PHPDocs, based on table columns, relations and getters/setters.

Note: this command requires a working database connection to introspect the table of each model

By default, you are asked to overwrite or write to a separate file (_ide_helper_models.php). You can write the comments directly to your Model file, using the --write (-W) option, or force to not write with --nowrite (-N).

Alternatively using the --write-mixin (-M) option will only add a mixin tag to your Model file, writing the rest in (_ide_helper_models.php). The class name will be different from the model, avoiding the IDE duplicate annoyance.

Please make sure to back up your models, before writing the info.

Writing to the models should keep the existing comments and only append new properties/methods. The existing PHPDoc is replaced, or added if not found. With the --reset (-R) option, the existing PHPDocs are ignored, and only the newly found columns/relations are saved as PHPDocs.

php artisan ide-helper:models "App\Models\Post"
/**
 * App\Models\Post
 *
 * @property integer $id
 * @property integer $author_id
 * @property string $title
 * @property string $text
 * @property \Illuminate\Support\Carbon $created_at
 * @property \Illuminate\Support\Carbon $updated_at
 * @property-read \User $author
 * @property-read \Illuminate\Database\Eloquent\Collection|\Comment[] $comments
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Post newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Post newQuery()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Post query()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Post whereTitle($value)
 * …
 */

With the --write-mixin (-M) option

/**
 * …
 * @mixin IdeHelperPost
 */

Model Directories

By default, models in app/models are scanned. The optional argument tells what models to use (also outside app/models).

php artisan ide-helper:models "App\Models\Post" "App\Models\User"

You can also scan a different directory, using the --dir option (relative from the base path):

php artisan ide-helper:models --dir="path/to/models" --dir="app/src/Model"

You can publish the config file (php artisan vendor:publish) and set the default directories.

Ignore Models

Models can be ignored using the --ignore (-I) option

php artisan ide-helper:models --ignore="App\Models\Post,App\Models\User"

Or can be ignored by setting the ignored_models config

'ignored_models' => [
    App\Post::class,
    Api\User::class
],

Magic where* methods

Eloquent allows calling where<Attribute> on your models, e.g. Post::whereTitle(…) and automatically translates this to e.g. Post::where('title', '=', '…').

If for some reason it's undesired to have them generated (one for each column), you can disable this via config write_model_magic_where and setting it to false.

Magic *_count properties

You may use the ::withCount method to count the number results from a relationship without actually loading them. Those results are then placed in attributes following the <columname>_count convention.

By default, these attributes are generated in the phpdoc. You can turn them off by setting the config write_model_relation_count_properties to false.

Support @comment based on DocBlock

In order to better support IDEs, relations and getters/setters can also add a comment to a property like table columns. Therefore a custom docblock @comment is used:

class Users extends Model
{
    /**
     * @comment Get User's full name
     *
     * @return string
     */
    public function getFullNameAttribute(): string
    {
        return $this->first_name . ' ' .$this->last_name ;
    }
}

// => after generate models

/**
 * App\Models\Users
 * 
 * @property-read string $full_name Get User's full name
 * …
 */

Dedicated Eloquent Builder methods

A new method to the eloquent models was added called newEloquentBuilder Reference where we can add support for creating a new dedicated class instead of using local scopes in the model itself.

If for some reason it's undesired to have them generated (one for each column), you can disable this via config write_model_external_builder_methods and setting it to false.

Unsupported or custom database types

Common column types (e.g. varchar, integer) are correctly mapped to PHP types (string, int).

But sometimes you may want to use custom column types in your database like geography, jsonb, citext, bit, etc. which may throw an "Unknown database type"-Exception.

For those special cases, you can map them via the config custom_db_types. Example:

'custom_db_types' => [
    'mysql' => [
        'geography' => 'array',
        'point' => 'array',
    ],
    'postgresql' => [
        'jsonb' => 'string',
        '_int4' => 'array',
    ],
],

Model Hooks

If you need additional information on your model from sources that are not handled by default, you can hook in to the generation process with model hooks to add extra information on the fly. Simply create a class that implements ModelHookInterface and add it to the model_hooks array in the config:

'model_hooks' => [
   MyCustomHook::class,
],

The run method will be called during generation for every model and receives the current running ModelsCommand and the current Model, e.g.:

class MyCustomHook implements ModelHookInterface
{
    public function run(ModelsCommand $command, Model $model): void
    {
        if (! $model instanceof MyModel) {
            return;
        }

        $command->setProperty('custom', 'string', true, false, 'My custom property');
        $command->unsetMethod('method');
        $command->setMethod('method', $command->getMethodType($model, '\Some\Class'), ['$param']);
    }
}
/**
 * MyModel
 *
 * @property integer $id
 * @property-read string $custom

Automatic PHPDocs generation for Laravel Fluent methods

If you need PHPDocs support for Fluent methods in migration, for example

$table->string("somestring")->nullable()->index();

After publishing vendor, simply change the include_fluent line your config/ide-helper.php file into:

'include_fluent' => true,

Then run php artisan ide-helper:generate, you will now see all Fluent methods recognized by your IDE.

Auto-completion for factory builders

If you would like the factory()->create() and factory()->make() methods to return the correct model class, you can enable custom factory builders with the include_factory_builders line your config/ide-helper.php file. Deprecated for Laravel 8 or latest.

'include_factory_builders' => true,

For this to work, you must also publish the PhpStorm Meta file (see below).

PhpStorm Meta for Container instances

It's possible to generate a PhpStorm meta file to add support for factory design pattern. For Laravel, this means we can make PhpStorm understand what kind of object we are resolving from the IoC Container. For example, events will return an Illuminate\Events\Dispatcher object, so with the meta file you can call app('events') and it will autocomplete the Dispatcher methods.

php artisan ide-helper:meta
app('events')->fire();
\App::make('events')->fire();

/** @var \Illuminate\Foundation\Application $app */
$app->make('events')->fire();

// When the key is not found, it uses the argument as class name
app('App\SomeClass');
// Also works with
app(App\SomeClass::class);

Note: You might need to restart PhpStorm and make sure .phpstorm.meta.php is indexed.

Note: When you receive a FatalException: class not found, check your config (for example, remove S3 as cloud driver when you don't have S3 configured. Remove Redis ServiceProvider when you don't use it).

You can change the generated filename via the config meta_filename. This can be useful for cases you want to take advantage the PhpStorm also supports the directory .phpstorm.meta.php/ which would parse any file places there, should your want provide additional files to PhpStorm.

Usage with Lumen

This package is focused on Laravel development, but it can also be used in Lumen with some workarounds. Because Lumen works a little different, as it is like a bare bone version of Laravel and the main configuration parameters are instead located in bootstrap/app.php, some alterations must be made.

Enabling Facades

While Laravel IDE Helper can generate automatically default Facades for code hinting, Lumen doesn't come with Facades activated. If you plan in using them, you must enable them under the Create The Application section, uncommenting this line:

// $app->withFacades();

From there, you should be able to use the create_alias() function to add additional Facades into your application.

Adding the Service Provider

You can install Laravel IDE Helper in app/Providers/AppServiceProvider.php, and uncommenting this line that registers the App Service Providers, so it can properly load.

// $app->register(App\Providers\AppServiceProvider::class);

If you are not using that line, that is usually handy to manage gracefully multiple Laravel/Lumen installations, you will have to add this line of code under the Register Service Providers section of your bootstrap/app.php.

if ($app->environment() !== 'production') {
    $app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}

After that, Laravel IDE Helper should work correctly. During the generation process, the script may throw exceptions saying that some Class(s) doesn't exist or there are some undefined indexes. This is normal, as Lumen has some default packages stripped away, like Cookies, Storage and Session. If you plan to add these packages, you will have to add them manually and create additional Facades if needed.

Adding Additional Facades

Currently, Lumen IDE Helper doesn't take into account additional Facades created under bootstrap/app.php using create_alias(), so you need to create a config/app.php file and add your custom aliases under an aliases array again, like so:

return [
    'aliases' => [
        'CustomAliasOne' => Example\Support\Facades\CustomAliasOne::class,
        'CustomAliasTwo' => Example\Support\Facades\CustomAliasTwo::class,
        //...
    ]
];

After you run php artisan ide-helper:generate, it's recommended (but not mandatory) to rename config/app.php to something else, until you have to re-generate the docs or after passing to production environment. Lumen 5.1+ will read this file for configuration parameters if it is present, and may overlap some configurations if it is completely populated.

License

The Laravel IDE Helper Generator is open-sourced software licensed under the MIT license

Issues
  • Do you plan to release branch for lumen?

    Do you plan to release branch for lumen?

    Hi, Barry, I very like ide-helper and it would be cool to have a branch for lumen, that ready to work out of the box, or may be some manual of how to migrate with current version

    opened by likerRr 59
  • ISSUE :: Model Static Classes ... continuing issue

    ISSUE :: Model Static Classes ... continuing issue

    There is an update to Laravel 5.4 that makes the relations more clear to all (should be in v5.4.29) https://github.com/laravel/framework/commit/77d8c23fed764e6a38cc8608c28f0ad7c39deee4

    The only problem is that the helper @mixin \Eloquent needs to move to the Model class in order to work with the magic static methods properly https://github.com/laravel/framework/pull/20044/files

    Note ... you should no longer have to add that to each instance of a Model. It works with just the static definitions on the Model class.

    opened by Artistan 38
  • Support for Laravel 5.4

    Support for Laravel 5.4

    Hi,

    could you already tag a L5.4 compatible release like you've done with debugbar?

    opened by freekmurze 35
  • Error when installing

    Error when installing

    I'm using a frsh install of Laravel 5.2.36. When I run this command:

    composer require barryvdh/laravel-ide-helper

    I get the following error:

    Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for phpdocumentor/reflection-docblock (locked at 3.0.2) -> satisfiable by phpdocumentor/reflection-docblock[3.0.2]. - barryvdh/laravel-ide-helper v2.1.0 requires phpdocumentor/reflection-docblock 2.0.4 -> satisfiable by phpdocumentor/reflection-docblock[2.0.4]. - barryvdh/laravel-ide-helper v2.1.1 requires phpdocumentor/reflection-docblock 2.0.4 -> satisfiable by phpdocumentor/reflection-docblock[2.0.4]. - barryvdh/laravel-ide-helper v2.1.2 requires phpdocumentor/reflection-docblock 2.0.4 -> satisfiable by phpdocumentor/reflection-docblock[2.0.4]. - barryvdh/laravel-ide-helper v2.1.3 requires phpdocumentor/reflection-docblock ^2.0.4 -> satisfiable by phpdocumentor/reflection-docblock[2.0.4]. - barryvdh/laravel-ide-helper v2.1.4 requires phpdocumentor/reflection-docblock ^2.0.4 -> satisfiable by phpdocumentor/reflection-docblock[2.0.4]. - Conclusion: don't install phpdocumentor/reflection-docblock 2.0.4 - Installation request for barryvdh/laravel-ide-helper ^2.1 -> satisfiable by barryvdh/laravel-ide-helper[v2.1.0, v2.1.1, v2.1.2, v2.1.3, v2.1.4].

    opened by showFocus 32
  • .phpstorm.meta.php has no effect in PhpStorm 2016.1

    .phpstorm.meta.php has no effect in PhpStorm 2016.1

    @barryvdh , after a month or so, when I return to my project, for some weird reason, the generated .phpstorm.meta.php file is missing a lot of lines in it (such as lines for app('log'), app('validator') etc). My current file looks like this:

    https://gist.github.com/shehi/1aeb5d96c5c1b338360474efbd7806f0

    Has something changed with package?

    opened by shehi 29
  • _ide_helper.php break the autocomplete in PHPStorm

    _ide_helper.php break the autocomplete in PHPStorm

    when i update to Laravel v5.4.12 i use IDE Helper v2.2 ( i update it to the Dev Version v2.3.0 still the same )

    only when i delete the "_ide_helper.php" the autocomplete works fine.

    only .phpstorm.meta.php & _ide_helper_models.php works fine

    opened by Coldzer0 28
  • Exception: Class auth does not exist

    Exception: Class auth does not exist

    composer.json:

    "barryvdh/laravel-ide-helper": "1.*"
    

    and got this message below:

    ➜  src  php artisan ide-helper:generate
    Exception: Class auth does not exist
    Skipping Illuminate\Support\Facades\Auth.
    Exception: Class auth does not exist
    Skipping Illuminate\Support\Facades\Password.
    A new helper file was written to _ide_helper.php
    
    opened by voidman 28
  • Method where not found in App\Model

    Method where not found in App\Model

    Model::where()
    

    Results in the error "method where not found in App\Model"

    Laravel 5.7 laravel-ide-helper ^2.4 php 7.2.8

    I tried

    php artisan clear-compiled
    php artisan ide-helper:generate
    php artisan ide-helper:meta
    

    If I do

    Model::query()->where()
    

    It works fine

    stale 
    opened by quantumwebco 25
  • Unexpected no document

    Unexpected no document

    This started happening a few weeks ago, can't figure out why or how to correct.

    php artisan ide-helper:generate Unexpected no document on Illuminate\Database\Eloquent\Model Content did not change <?php

    namespace Illuminate\Database\Eloquent;

    use Exception; use ArrayAccess; use JsonSerializable; use Illuminate\Support\Arr; use Illuminate\Support\Str; use Illuminate\Contracts\Support\Jsonable; use Illuminate\Contracts\Support\Arrayable; use Illuminate\Contracts\Routing\UrlRoutable; use Illuminate\Contracts\Queue\QueueableEntity;

    opened by wayne5w 25
  • switch tests to snapshot assertions

    switch tests to snapshot assertions

    closes #956

    opened by Gummibeer 25
  • Generate cleaner model mixin classes

    Generate cleaner model mixin classes

    Summary

    1. removed @mixin from mixin itself when using mixin mode

    The generated mixin class, contained a @mixin phpdoc to itself. This breaks phpstan as it's a recursive reference.

    2. don't add extends and implements to generated class when using mixin mode

    If you are using mixin mode, the mixin only needs to contain the properties and methods. The mixin does not need to extend the models classes, as the model already does that and the helper annotations are mixed in.

    Type of change

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update
    • [ ] Misc. change (internal, infrastructure, maintenance, etc.)

    Checklist

    • [ ] Existing tests have been adapted and/or new tests have been added
    • [ ] Add a CHANGELOG.md entry
    • [ ] Update the README.md
    • [ ] Code style has been fixed via composer fix-style
    opened by georgeboot 0
  • Allow casts without property

    Allow casts without property

    Summary

    Laravel allows to create customCasts for property that do not exist in the database table. This allows to create magic properties as ValueObject which combine multiple attributes together. Currently the ide helper does not provide any docblock for these kind of casts. This PR allows casts without existing properties to be defined as properties.

    // model
    class CustomCast extends Model
    {
        protected $casts = [
            'price' => MoneyCast::class,
        ];
    }
    // cast
    class MoneyCast implements CastsAttributes
    {
    
        public function get($model, string $key, $value, array $attributes): Money
        {
            return new Money($attributes['amount'], $attributes['currency']);
        }
    
        public function set($model, string $key, $value, array $attributes)
        {
          return  [
              $value->amount,
              $value->currency,
          ]
        }
    }
    

    Type of change

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)

    Checklist

    • [x] Existing tests have been adapted and/or new tests have been added
    • [x] Add a CHANGELOG.md entry
    • [x] Code style has been fixed via composer fix-style
    opened by Sparclex 0
  • Wrong conversion of int variable to octal

    Wrong conversion of int variable to octal

    Versions:

    • ide-helper Version: v2.10.0
    • Laravel Version: v8.63.0
    • PHP Version: 7.4.24

    Description:

    I stumbled upon this today:

    image

    Notice the $mode = 493

    The generated method is:

    /**
     * Ensure a directory exists.
     *
     * @param string $path
     * @param int $mode
     * @param bool $recursive
     * @return void
     * @static
     */
    public static function ensureDirectoryExists($path, $mode = 493, $recursive = true)
    {
        /** @var \Illuminate\Filesystem\Filesystem $instance */
        $instance->ensureDirectoryExists($path, $mode, $recursive);
    }
    

    originating from the original Illuminate\Filesystem\Filesystem:

    /**
     * Ensure a directory exists.
     *
     * @param  string  $path
     * @param  int  $mode
     * @param  bool  $recursive
     * @return void
     */
    public function ensureDirectoryExists($path, $mode = 0755, $recursive = true)
    {
        if (! $this->isDirectory($path)) {
            $this->makeDirectory($path, $mode, $recursive);
        }
    }
    

    This is coming from: https://github.com/barryvdh/laravel-ide-helper/blob/c733bde1ea229b159920f058911c12a8ae781bf9/src/Method.php#L337-L342 where var_export thinks that 0755 is the octal notation of 493 and not the decimal 775.

    Not sure what to do about it. I don't consider it a big issue in this context (permissions) and I am not sure how I would tackle it either. In any case, I wanted to mention it as an issue, since there are no discussions in this repo.

    If you have any suggestions, feel free to ping me and I can make a PR. Otherwise, feel free to close this issue. ✌🏼

    Steps To Reproduce:

    • Generate the helper file and search for ensureDirectoryExists method
    opened by zoispag 1
  • Fix invalid phpdoc for casted property without return (#1236)

    Fix invalid phpdoc for casted property without return (#1236)

    Summary

    Fix invalid phpdoc for casted property without return type

    Type of change

    • [x] Bug fix (non-breaking change which fixes an issue)

    Checklist

    • [ ] Existing tests have been adapted and/or new tests have been added
    • [ ] Add a CHANGELOG.md entry
    • [ ] Update the README.md
    • [ ] Code style has been fixed via composer fix-style
    opened by edgardmessias 1
  • Add support for multiple or alternately named auth providers

    Add support for multiple or alternately named auth providers

    Summary

    When determining return value for functions like Auth::user(), only the hardcoded path auth.providers.users.model is checked in the configuration. In the case of multiple guards (or a guard not named "users") the resulting return type is incomplete. This fix checks every entry in the auth.providers array to build an intersection type (e.g. App\User|App\Admin) for use as return.

    I considered adding more checks (e.g. make sure class_exists() and it implements Authenticatable) but if you have invalid class names as part of your application config, that's not this tool's problem.

    Type of change

    • [x] New feature (non-breaking change which adds functionality)

    Checklist

    • [ n/a ] Existing tests have been adapted and/or new tests have been added
    • [x] Add a CHANGELOG.md entry
    • [ n/a ] Update the README.md
    • [x] Code style has been fixed via composer fix-style
    opened by miken32 1
  • Improve casts support

    Improve casts support

    Summary

    Provides support for all missing types for Model::$casts including decimal:*, custom_datetime, encrypted:*, immutable_date, and immutable_custom_datetime. Resolves #1257

    Type of change

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)

    Checklist

    • [x] Existing tests have been adapted and/or new tests have been added
    • [x] Add a CHANGELOG.md entry
    • [ n/a ] Update the README.md
    • [x] Code style has been fixed via composer fix-style
    opened by miken32 2
  • Unable to be installed on a new laravel installation

    Unable to be installed on a new laravel installation

    Versions:

    • ide-helper Version: 2.10
    • Laravel Version: 8.63.0
    • PHP Version: 8.0.10

    Description:

    After creating a new laravel application I am unable to install the laravel-ide-helper due to an error being thrown by composer.

    Steps To Reproduce:

    • laravel new testing && cd testing
    • composer require --dev barryvdh/laravel-ide-helper

    Expected Result:

    The ide-helper is installed

    Actual Result:

    Composer throwing an error:

    Using version ^2.10 for barryvdh/laravel-ide-helper
    ./composer.json has been updated
    Running composer update barryvdh/laravel-ide-helper
    Loading composer repositories with package information
    Updating dependencies
    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - composer/composer[dev-master, 2.0.14, ..., 2.1.9] require psr/log ^1.0 -> found psr/log[1.0.0, ..., 1.1.4] but the package is fixed to 2.0.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
        - composer/composer[1.10.18, ..., 1.10.x-dev] require composer/semver ^1.0 -> found composer/semver[1.0.0, ..., 1.x-dev] but the package is fixed to 3.2.5 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
        - composer/composer[1.6.0-RC, ..., 1.10.17, 2.0.0-alpha1] require php ^5.3.2 || ^7.0 -> your php version (8.0.10) does not satisfy that requirement.
        - composer/composer[2.0.0-alpha2, ..., 2.0.13] require composer/xdebug-handler ^1.1 -> found composer/xdebug-handler[1.1.0, ..., 1.4.x-dev] but the package is fixed to 2.0.2 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
        - barryvdh/laravel-ide-helper v2.10.0 requires composer/composer ^1.6 || ^2 -> satisfiable by composer/composer[1.6.0-RC, ..., 1.10.x-dev, 2.0.0-alpha1, ..., 2.1.x-dev (alias of dev-master)].
        - composer/composer 2.1.x-dev is an alias of composer/composer dev-master and thus requires it to be installed too.
        - Root composer.json requires barryvdh/laravel-ide-helper ^2.10 -> satisfiable by barryvdh/laravel-ide-helper[v2.10.0].
    
    Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
    
    Installation failed, reverting ./composer.json and ./composer.lock to their original content.
    
    bug 
    opened by tkuijer 7
  • add support for `on`, `onWriteConnection`, `with` on models

    add support for `on`, `onWriteConnection`, `with` on models

    Summary

    Add support to start query builder using on, onWriteConnection and with methods similar to the existing query method.

    Resolves issues #1235

    Type of change

    • [x] New feature (non-breaking change which adds functionality)

    Checklist

    • [x] Existing tests have been adapted and/or new tests have been added
    • [x] Add a CHANGELOG.md entry
    • [x] Code style has been fixed via composer fix-style
    opened by Douglasdc3 0
  • Return the class name without the namespace if in the same namespace

    Return the class name without the namespace if in the same namespace

    Summary

    When className is in the same namespace as the class which PHP doc is being generated for, return the className without the namespace. Full class name is still being written if it's write to the external file, or if it's in a global namespace, or if FQCN is forced.

    Type of change

    • [ ] Misc. change (internal, infrastructure, maintenance, etc.)

    Checklist

    • [x] Existing tests have been adapted and/or new tests have been added
    • [ ] Add a CHANGELOG.md entry
    • [ ] Update the README.md
    • [x] Code style has been fixed via composer fix-style
    opened by Katenkka 0
  • Add support for the new cast types

    Add support for the new cast types

    Summary

    The casts types immutable_date and immutable_datetime were add sometime ago. But right now they get a mixed type when running the command for models. Also, I think the encrypted casts don't work too.

    enhancement 
    opened by henriquecm 0
Releases(v2.10.0)
Owner
Barry vd. Heuvel
Barry vd. Heuvel
⚙️ A Laravel package to decompose your installed packages, their dependencies, your app & server environment

Introduction Laravel Decomposer decomposes and lists all the installed packages and their dependencies along with the Laravel & the Server environment

LUBUS 501 Oct 12, 2021
Laravel API Documentation Generator

Laravel API Documentation Generator Automatically generate your API documentation from your existing Laravel/Lumen/Dingo routes. php artisan apidoc:ge

Marcel Pociot 3.1k Oct 15, 2021
[Package] Lumen Testing Helper for Packages Development

anik/testbench-lumen is a package, highly inspired by the orchestral/testbench. orchestral/testbench that is a tool for testing Laravel packages.

Syed Sirajul Islam Anik 5 May 9, 2021
Creates an 'artisan workflow:make' command to scaffold out a number of useful GitHub actions workflows for Laravel

Laravel workflow generator This creates a make:workflow artisan command to scaffold out a number of useful GitHub actions workflows for Laravel. Insta

Len Woodward 9 Jul 18, 2021
A cli tool for creating Laravel packages

Laravel Packager This package provides you with a simple tool to set up a new package and it will let you focus on the development of the package inst

JeroenG 1.1k Oct 18, 2021
This package extends the core file generators that are included with Laravel 5

Extended Migration Generators for Laravel 6, 7 and 8 Easily define the migration schema right in your make:migration command. The new commands this pa

Laracasts 2.4k Oct 18, 2021
InfyOm Laravel Generator - API, Scaffold, Tests, CRUD Laravel Generator

InfyOm Laravel Generator Generate Admin Panels CRUDs and APIs in Minutes with tons of other features and customizations with 3 different themes. Read

InfyOmLabs (InfyOm Technologies) 3.3k Oct 13, 2021
⛔️ Laravel Tinx is archived and no longer maintained.

⛔️ Laravel Tinx (Deprecated) Laravel Tinx was archived on 12th December 2019 and is no longer maintained. Looking for a reloadable version of Laravel

James Furey 432 Oct 15, 2021
Generate migrations from existing database structures

Laravel Migration Generator Generate migrations from existing database structures, an alternative to the schema dump provided by Laravel. A primary us

Bennett Treptow 240 Oct 22, 2021
A MySQL Workbench plugin which exports a Model to Laravel 5 Migrations

MySQL Workbench Export Laravel 5 Migrations Plugin A MySQL Workbench plugin that allows for exporting a model to Laravel 5 migrations that follow PSR-

Brandon Eckenrode 889 Oct 16, 2021
🍪 Write gorgeous documentation for your products using Markdown inside your Laravel app.

LaRecipe Write gorgeous documentations for your products using Markdown inside your Laravel app. LaRecipe ?? LaRecipe is simply a code-driven package

Saleem Hadad 1.9k Oct 17, 2021
:rocket: A Smart CRUD Generator For Laravel

Features Generate your models, views, controllers, routes and migrations just in a few clicks. Models visualization through a graph presentation (New

Houssain Amrani 860 Oct 21, 2021
Prequel for Laravel. Clear and concise database management.

TL;DR? Test Prequel here! What is Prequel exactly? Prequel is meant to be a database management tool for Laravel to replace the need for separate stan

Protoqol 1.3k Oct 17, 2021
Module Generator Composer Package For Laravel

Module Generator Installation You can install the package via composer: composer require teacoders/module-generator Run the command below to publish t

Tea Coders 20 Sep 6, 2021