laradic / idea by radic

Laravel 5 IntelliJ IDEA / PHPStorm helpers and improvements like Advanced Metadata generators (autocompletion), fixing settings, better code completion, improved package development, etc
1,509
0
2
Package Data
Maintainer Username: radic
Maintainer Contact: rradic@hotmail.com (Robin Radic)
Package Create Date: 2016-08-12
Package Last Update: 2022-04-28
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-30 15:01:35
Package Statistics
Total Downloads: 1,509
Monthly Downloads: 33
Daily Downloads: 3
Total Stars: 0
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

Laravel IntelliJ IDEA / PHPStorm package

License

Aimed at developers using Laravel 5 in IntelliJ IDEA / PHPStorm, the package adds (configurable, optional) helpers, improvements and automation to the IDE. A small grasp of features:

  • Advanced Metadata generators (autocompletion)
  • Fixes settings
  • Improves code completion
  • Improved package development
  • Much more...

The package follows the FIG standards PSR-1, PSR-2, and PSR-4 to ensure a high level of interoperability between shared PHP code.

Quick Installation

Begin by installing the package through Composer.

composer require laradic/idea=~1.0

Documentation

Go to the Laradic documentation

Quick overview

Advanced Metadata Generator

View topic on PHPStorm documentation Similar to barryvdh/laravel-ide-helper, php artisan laradic:idea:meta generates the .phpstorm.meta.php file inside your project root. This will autocomplete the bindings when calling app('<binding>') or App::make('<binding>') and will spawn the code-completion for the binding.

SCREENSHOT

The laradic/idea version also includes config, routes and language autocompletion. It also provides an easy way to add your own completions. A good example would be "config":

class ConfigMeta extends Laradic\Idea\Metadata\Metas\BaseMeta {
    protected $methods = [
        '\\config(\'\')',
        '\\Config::get(\'\')',
        'new \\Illuminate\\Contracts\\Config\\Repository',
        '\\Illuminate\\Contracts\\Config\\Repository::get(\'\')'
    ];

    public function getData(){
        return array_dot($this->app['config']->all());
    }     
}