Download the PHP package pyro/ide-helper without Composer
On this page you can find all versions of the php package pyro/ide-helper. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download pyro/ide-helper
More information about pyro/ide-helper
Files in pyro/ide-helper
Package ide-helper
Short Description Various PyroCMS code completion improvements for ide's
License MIT
Homepage https://github.com/pyradic/ide-helper
Informations about the package ide-helper
Ide Helper for PyroCMS / Streams Platform
The purpose of this package is to provide improved code-completion for PyroCMS/Streams Platform applications and to reduce time spend reading the documentation/other code. It also allows you to tap into the docblock generation process to add your own docblocks!
Although this package has various PHPStorm specific features, it\'s still able to provide quite a few extras for other ide\'s/editors.
Version 1.1 Will feature much easier ways to create customize various auto-completions.
- Installation
- Custom Generators
- Docblock Generators
- Toolbox Generators
- Examples
- Addon Collections
- Views
- Config
- Streams
- Model
- AddonServiceProvider
- FormBuilder
- TableBuilder
- Twig
- Progress
- Todos
Installation
-
Install using composer
-
Register service provider, preferably only when
APP_ENV=local
-
Run generation
You could wrap this in a composer run script:
and run it with
composer ide
- Install PHPStorm/IntelliJ Idea Plugins:
deep-assoc-completion
PHP Toolbox
Custom Generators
Docblock Generators
- Create a handler class as shown below
- Add the classname it to the
pyro.ide-helper.docblock.generators
config array. - The class will be included and generated when running
php artisan ide-helper:streams
Check the src/DocBlocks classes for examples.
Toolbox Generators
- Create a handler class as shown below
- Add the classname it to the
pyro.ide-helper.toolbox.generators
config array. - The class will be included and generated when running
php artisan ide-helper:streams
Check the GenerateViewsMeta class for a easily digested example.
Check the src/DocBlocks classes for more examples.
php class GenerateMyMeta extends \Laradic\Idea\Toolbox\AbstractMetaGenerator { protected $directory = 'custom/my'; // used in: $this->path = path_join(config('laradic.idea.toolbox.path'), $this->directory, '.ide-toolbox.metadata.json');
public function handle()
{
$this->metadata()
->push('providers', [
'name' => 'my_stuff',
'items' => [
['lookup_string' => 'A',],
['lookup_string' => 'B',]
],
])
->push('registrar', [
'provider' => 'my_stuff',
'language' => 'php',
'signature' => [ 'my_method', 'my_method:1' ],
])
->save();
}
}
### Examples
> These are just a few examples, to screenshot everything would be a big undertaking.
##### Docblock based
Most methods and properties in stream based related classes will now resolve properly.
This is done using the same way as ide-helper:models
by generating DocBlock tags in the source files
Some examples:
##### Addon collections
For AddonCollection, ModuleCollection, ThemeCollection etc.
`CTRL+click` / `CTRL+b` opens the addon class file.
![](screens/ide-helper-addon-collections.png)
##### Views
`CTRL+click` / `CTRL+b` opens the view file.
![](screens/ide-helper-views.png)
##### Config
`CTRL+click` / `CTRL+b` opens the config file.
PyroCMS addon config files can have up to 3 locations. Opening resolves to the correct file!
![](screens/ide-helper-config.png)
##### Streams
For `Repository` classes in all Streams
![](screens/ide-helper-repository-create.png)
![](screens/ide-helper-streams.png)
![](screens/ide-helper-create-model.png)
##### Model completion
screenshots todo...
##### AddonServiceProvider properties
![](screens/ide-helper-routes.png)
##### Module properties
![](screens/ide-helper-module-sections.png)
![](screens/ide-helper-module-sections-buttons.png.png)
##### FormBuilder properties
![](screens/ide-helper-formbuilder-buttons.png)
![](screens/ide-helper-formbuilder-sections.png)
![](screens/ide-helper-formbuilder-sections-tabs.png)
![](screens/ide-helper-formbuilder-sections-tabs-rows-columns.png)
##### TableBuilder properties
- Provides the same button completion as FormBuilder
screenshots todo...
##### Twig completion (tip)
This is just a tip for when you want better code-completion in Twig files.
![ide-helper-twig_2](screens/ide-helper-twig_2.png)
To use this: Install & Enable the symfony plugin.
![symfony-settings](screens/symfony-settings.png)
### Progress
- **`DONE`** Discover possibilities / limitations of various completion providers (IntelliJ plugins, docblocks, metafiles, php helper files)
- **`ALMOST DONE`** Use the appropriate completion provider for each completion.
- **`IN PROGRESS`** Revisit all code, improve/introduce logical structure to it, cleanup mess
- **`IN PROGRESS`** Make it extendable and configurable
##### Todos
- [ ] Streams Platform
- [x] Addons
- [x] Module
- [x] Properties
- [x] Sections
- [x] Shortcuts
- [x] Methods
- [x] setSections
- [x] getSections
- [x] addSection
- [x] setShortcuts
- [x] getShortcuts
- [x] addShortcut
- [x] AddonCollection
- [x] ModuleCollection
- [x] ExtensionCollection
- [x] ThemeCollection
- [x] PluginCollection
- [x] FieldTypeCollection
- [x] AddonServiceProvider
- [x] Routes
- [ ] UI
- [x] Button
- [x] ControlPanel
- [ ] Methods
- [ ] setButtons
- [x] getButtons
- [ ] addButton
- [ ] setSections
- [x] getSections
- [ ] addSection
- [ ] setNavigation
- [x] getNavigation
- [ ] addNavigation
- [x] Form
- [x] Properties
- [x] Action
- [x] Button
- [x] Field
- [x] Section
- [x] Options
- [x] Methods
- [x] setActions
- [x] getActions
- [x] addAction
- [x] setButtons
- [x] getButtons
- [x] addButton
- [x] setSections
- [x] getSections
- [x] addSection
- [x] setOption
- [x] hasOption
- [x] getOption
- [x] setOptions
- [x] getOptions
- [ ] Table
- [x] Row
- [x] getButtons
- [x] getColumns
- [x] Column
- [x] getEntry
- [x] Properties
- [x] Action
- [x] Button
- [x] Column
- [x] Filter
- [x] Header
- [x] Row
- [x] View
- [x] Methods
- [x] setActions
- [x] getActions
- [ ] addAction
- [x] setButtons
- [x] getButtons
- [ ] addButton
- [ ] setColumns
- [ ] getColumns
- [ ] addColumn
- [ ] setFilters
- [ ] getFilters
- [ ] addFilter
- [ ] setHeaders
- [ ] getHeaders
- [ ] addHeader
- [ ] setRows
- [ ] getRows
- [ ] addRow
- [x] setViews
- [x] getViews
- [x] addView
- [x] setOption
- [x] hasOption
- [x] getOption
- [x] setOptions
- [x] getOptions
- [ ] Tree
- [ ] Streams
- [x] Collections
- [ ] Criterias
- [ ] Factories
- [ ] Models
- [x] Translation fields
- [x] Fields, methods
- [x] Presenter,Collection,Router,Builder
- [ ] QueryBuilders
- [x] Repositories
- [ ] Router
- [x] Contract
- [x] Interface
- [x] RepositoryInterface
- [ ] Other
- [ ] Twig
- [x] Views
- [x] Config
- [ ] ...
All versions of ide-helper with dependencies
laradic/generators Version ~2.4
laradic/idea Version ~2.2
symfony/process Version ~3.0|~4.0|~5.0
barryvdh/laravel-ide-helper Version ~2.6
nikic/php-parser Version ~3.0|~4.3