Laravel 开发插件必备三件套

作者: JONE 分类: PHPer 发布时间: 2020-06-10 10:49

原链接:http://www.bcty365.com/content-153-5897-1.html

先装上开发插件三件套,开发神器。先不管这能干些啥,装上再说。

1、barryvdh/laravel-debugbar

composer require barryvdh/laravel-debugbar –dev

2、barryvdh/laravel-ide-helper

composer require barryvdh/laravel-ide-helper –dev

3、mpociot/laravel-test-factory-helper

composer require mpociot/laravel-test-factory-helper –dev

然后在config/app.php文件中填上:

  1. Barryvdh\Debugbar\ServiceProvider::class,
  2. Mpociot\LaravelTestFactoryHelper\TestFactoryHelperServiceProvider::class,
  3. Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,

看下开发插件三件套能干些啥,下文中命令可在项目根目录输入php artisan指令列表中查看。

1、barryvdh/laravel-debugbar

2、barryvdh/laravel-ide-helper

执行php artisan ide-helper:generate指令前:

执行php artisan ide-helper:generate指令后:

不仅Facade模式的Route由之前的反白了变为可以定位到源码了,而且输入Config Facade时还方法自动补全auto complete,这个很方便啊。

输入指令php artisan ide-helper:models后,看看各个Model,如Post这个Model:

  1. <?php
  2. namespace App;
  3. use Illuminate\Database\Eloquent\Model;
  4. /**
  5.  * App\Post
  6.  *
  7.  * @property integer $id
  8.  * @property integer $category_id 外键
  9.  * @property string $title 标题
  10.  * @property string $slug 锚点
  11.  * @property string $summary 概要
  12.  * @property string $content 内容
  13.  * @property string $origin 文章来源
  14.  * @property integer $comment_count 评论次数
  15.  * @property integer $view_count 浏览次数
  16.  * @property integer $favorite_count 点赞次数
  17.  * @property boolean $published 文章是否发布
  18.  * @property \Carbon\Carbon $created_at
  19.  * @property \Carbon\Carbon $updated_at
  20.  * @property-read \App\Category $category
  21.  * @property-read \Illuminate\Database\Eloquent\Collection|\App\Comment[] $comments
  22.  * @property-read \Illuminate\Database\Eloquent\Collection|\App\Tag[] $tags
  23.  * @method static \Illuminate\Database\Query\Builder|\App\Post whereId($value)
  24.  * @method static \Illuminate\Database\Query\Builder|\App\Post whereCategoryId($value)
  25.  * @method static \Illuminate\Database\Query\Builder|\App\Post whereTitle($value)
  26.  * @method static \Illuminate\Database\Query\Builder|\App\Post whereSlug($value)
  27.  * @method static \Illuminate\Database\Query\Builder|\App\Post whereSummary($value)
  28.  * @method static \Illuminate\Database\Query\Builder|\App\Post whereContent($value)
  29.  * @method static \Illuminate\Database\Query\Builder|\App\Post whereOrigin($value)
  30.  * @method static \Illuminate\Database\Query\Builder|\App\Post whereCommentCount($value)
  31.  * @method static \Illuminate\Database\Query\Builder|\App\Post whereViewCount($value)
  32.  * @method static \Illuminate\Database\Query\Builder|\App\Post whereFavoriteCount($value)
  33.  * @method static \Illuminate\Database\Query\Builder|\App\Post wherePublished($value)
  34.  * @method static \Illuminate\Database\Query\Builder|\App\Post whereCreatedAt($value)
  35.  * @method static \Illuminate\Database\Query\Builder|\App\Post whereUpdatedAt($value)
  36.  * @mixin \Eloquent
  37.  */
  38. class Post extends Model
  39. {
  40.     //Post-Category:Many-One
  41.     public function category()
  42.     {
  43.         return $this->belongsTo(Category::class);
  44.     }
  45.     //Post-Comment:One-Many
  46.     public function comments()
  47.     {
  48.         return $this->hasMany(Comment::class);
  49.     }
  50.     //Post-Tag:Many-Many
  51.     public function tags()
  52.     {
  53.         return $this->belongsToMany(Tag::class)->withTimestamps();
  54.     }
  55. }

根据迁移到库里的表生成字段属性和对应的方法提示,在控制器里输入方法时会自动补全auto complete字段属性的方法:

3、mpociot/laravel-test-factory-helper

输入指令php artisan test-factory-helper:generate后,database/factory/ModelFactory.php模型工厂文件会自动生成各个模型对应字段数据。Faker是一个好用的生成假数据的第三方库,而这个开发插件会自动帮你生成这些属性,不用自己写了