mirror of
https://github.com/barryvdh/laravel-ide-helper.git
synced 2026-08-19 18:43:12 +00:00
Highlight code syntax on README document
This commit is contained in:
@@ -18,15 +18,18 @@ Note: You do need CodeIntel for Sublime Text: https://github.com/SublimeCodeInte
|
|||||||
|
|
||||||
It's possible to generate a PhpStorm meta file, to [add support for factory design pattern](https://confluence.jetbrains.com/display/PhpStorm/PhpStorm+Advanced+Metadata). 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 ann `Illuminate\Events\Dispatcher` object, so with the meta file you can call `app('events')` and it will autocomplete the Dispatcher methods.
|
It's possible to generate a PhpStorm meta file, to [add support for factory design pattern](https://confluence.jetbrains.com/display/PhpStorm/PhpStorm+Advanced+Metadata). 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 ann `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
|
```bash
|
||||||
|
php artisan ide-helper:meta
|
||||||
app('events')->fire();
|
```
|
||||||
\App::make('events')->fire();
|
```php
|
||||||
|
app('events')->fire();
|
||||||
/** @var \Illuminate\Foundation\Application $app */
|
\App::make('events')->fire();
|
||||||
$app->make('events')->fire();
|
|
||||||
|
|
||||||
Pre-generated example: https://gist.github.com/barryvdh/bb6ffc5d11e0a75dba67
|
/** @var \Illuminate\Foundation\Application $app */
|
||||||
|
$app->make('events')->fire();
|
||||||
|
```
|
||||||
|
|
||||||
|
Pre-generated example: https://gist.github.com/barryvdh/bb6ffc5d11e0a75dba67
|
||||||
|
|
||||||
> Note: You might need to restart PhpStorm and make sure `.phpstorm.meta.php` is indexed.
|
> Note: You might need to restart PhpStorm and make sure `.phpstorm.meta.php` is indexed.
|
||||||
|
|
||||||
@@ -34,31 +37,41 @@ Pre-generated example: https://gist.github.com/barryvdh/bb6ffc5d11e0a75dba67
|
|||||||
|
|
||||||
Require this package with composer using the following command:
|
Require this package with composer using the following command:
|
||||||
|
|
||||||
composer require barryvdh/laravel-ide-helper ~1.11
|
```bash
|
||||||
|
composer require barryvdh/laravel-ide-helper ~1.11
|
||||||
|
```
|
||||||
|
|
||||||
After updating composer, add the ServiceProvider to the providers array in `app/config/app.php`
|
After updating composer, add the ServiceProvider to the providers array in `app/config/app.php`
|
||||||
|
|
||||||
'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
|
```php
|
||||||
|
'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
|
||||||
|
```
|
||||||
|
|
||||||
You can now re-generate the docs yourself (for future updates) in artisan
|
You can now re-generate the docs yourself (for future updates) in artisan
|
||||||
|
|
||||||
php artisan ide-helper:generate
|
```bash
|
||||||
|
php artisan ide-helper:generate
|
||||||
|
```
|
||||||
|
|
||||||
Note: bootstrap/compiled.php has to be cleared first, so run `php artisan clear-compiled` before generating (and `php artisan optimize` after..)
|
Note: bootstrap/compiled.php has to be cleared first, so run `php artisan clear-compiled` before generating (and `php artisan optimize` after..)
|
||||||
|
|
||||||
You can configure your composer.json to do this after each commit:
|
You can configure your composer.json to do this after each commit:
|
||||||
|
|
||||||
"scripts":{
|
```json
|
||||||
"post-update-cmd":[
|
"scripts":{
|
||||||
"php artisan clear-compiled",
|
"post-update-cmd":[
|
||||||
"php artisan ide-helper:generate",
|
"php artisan clear-compiled",
|
||||||
"php artisan optimize"
|
"php artisan ide-helper:generate",
|
||||||
]
|
"php artisan optimize"
|
||||||
},
|
]
|
||||||
|
},
|
||||||
|
```
|
||||||
|
|
||||||
You can also publish the config-file to change implementations (ie. interface to specific class) or set defaults for --helpers or --sublime.
|
You can also publish the config-file to change implementations (ie. interface to specific class) or set defaults for --helpers or --sublime.
|
||||||
|
|
||||||
php artisan config:publish barryvdh/laravel-ide-helper
|
```bash
|
||||||
|
php artisan config:publish barryvdh/laravel-ide-helper
|
||||||
|
```
|
||||||
|
|
||||||
The generator tries to identify the real class, but if it cannot be found, you can define it in the config file.
|
The generator tries to identify the real class, but if it cannot be found, you can define it in the config file.
|
||||||
|
|
||||||
@@ -70,7 +83,7 @@ The Illuminate/Support/helpers.php is already set-up, but you can add/remove you
|
|||||||
|
|
||||||
### Automatic phpDocs for Models
|
### Automatic phpDocs for Models
|
||||||
|
|
||||||
> **Note:** Since v1.10 you need to require `doctrine/dbal: ~2.3` in your own composer.json.
|
> **Note:** Since v1.10 you need to require `doctrine/dbal: ~2.3` in your own composer.json.
|
||||||
|
|
||||||
If you don't want to write your properties yourself, you can use the command `ide-helper:models` to generate
|
If you don't want to write your properties yourself, you can use the command `ide-helper:models` to generate
|
||||||
phpDocs, based on table columns, relations and getters/setters. You can write the comments directly to your Model file, using the `--write (-W)` option. By default, you are asked to overwrite or write to a separate file (\_ide\_helper\_models.php) (You can force No with `--nowrite (-N)`).
|
phpDocs, based on table columns, relations and getters/setters. You can write the comments directly to your Model file, using the `--write (-W)` option. By default, you are asked to overwrite or write to a separate file (\_ide\_helper\_models.php) (You can force No with `--nowrite (-N)`).
|
||||||
@@ -78,34 +91,43 @@ Please make sure to backup your models, before writing the info.
|
|||||||
It should keep the existing comments and only append new properties/methods. The existing phpdoc is replaced, or added if not found.
|
It 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, only the newly found columns/relations are saved as phpdocs.
|
With the `--reset (-R)` option, the existing phpdocs are ignored, only the newly found columns/relations are saved as phpdocs.
|
||||||
|
|
||||||
php artisan ide-helper:models Post
|
```bash
|
||||||
|
php artisan ide-helper:models Post
|
||||||
/**
|
```
|
||||||
* An Eloquent Model: 'Post'
|
```php
|
||||||
*
|
/**
|
||||||
* @property integer $id
|
* An Eloquent Model: 'Post'
|
||||||
* @property integer $author_id
|
*
|
||||||
* @property string $title
|
* @property integer $id
|
||||||
* @property string $text
|
* @property integer $author_id
|
||||||
* @property \Carbon\Carbon $created_at
|
* @property string $title
|
||||||
* @property \Carbon\Carbon $updated_at
|
* @property string $text
|
||||||
* @property-read \User $author
|
* @property \Carbon\Carbon $created_at
|
||||||
* @property-read \Illuminate\Database\Eloquent\Collection|\Comment[] $comments
|
* @property \Carbon\Carbon $updated_at
|
||||||
*/
|
* @property-read \User $author
|
||||||
|
* @property-read \Illuminate\Database\Eloquent\Collection|\Comment[] $comments
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
By default, models in app/models are scanned. The optional argument tells what models to use (also outside app/models).
|
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 Post User
|
```bash
|
||||||
|
php artisan ide-helper:models Post User
|
||||||
|
```
|
||||||
|
|
||||||
You can also scan a different directory, using the --dir option (relative from the base path):
|
You can also scan a different directory, using the --dir option (relative from the base path):
|
||||||
|
|
||||||
php artisan ide-helper:models --dir="app/workbench/name/package/models" --dir="app/src/Model"
|
```bash
|
||||||
|
php artisan ide-helper:models --dir="app/workbench/name/package/models" --dir="app/src/Model"
|
||||||
|
```
|
||||||
|
|
||||||
You can publish the config file (`php artisan config:publish barryvdh/laravel-ide-helper`) and set the default directories.
|
You can publish the config file (`php artisan config:publish barryvdh/laravel-ide-helper`) and set the default directories.
|
||||||
|
|
||||||
Models can be ignored using the --ignore (-I) option
|
Models can be ignored using the --ignore (-I) option
|
||||||
|
|
||||||
php artisan ide-helper:models --ignore="Post,User"
|
```bash
|
||||||
|
php artisan ide-helper:models --ignore="Post,User"
|
||||||
|
```
|
||||||
|
|
||||||
Note: With namespaces, wrap your model name in " signs: `php artisan ide-helper:models "API\User"`, or escape the slashes (`Api\\User`)
|
Note: With namespaces, wrap your model name in " signs: `php artisan ide-helper:models "API\User"`, or escape the slashes (`Api\\User`)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user