Highlight code syntax on README document

This commit is contained in:
Thach Nguyen
2018-01-31 20:10:23 +07:00
parent 1080504a78
commit 66d6e3df01
+56 -34
View File
@@ -18,13 +18,16 @@ 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
```
```php
app('events')->fire();
\App::make('events')->fire();
app('events')->fire(); /** @var \Illuminate\Foundation\Application $app */
\App::make('events')->fire(); $app->make('events')->fire();
```
/** @var \Illuminate\Foundation\Application $app */
$app->make('events')->fire();
Pre-generated example: https://gist.github.com/barryvdh/bb6ffc5d11e0a75dba67 Pre-generated example: https://gist.github.com/barryvdh/bb6ffc5d11e0a75dba67
@@ -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.
@@ -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`)