您的位置:

Laravel-ide-helper 能帮助你的五个方面

一、优化代码补全

Laravel-ide-helper可以更完美的支持Laravel框架自带的代码补全。

安装laravel-ide-helper:

composer require --dev barryvdh/laravel-ide-helper

然后在config/app.php中加入:

'providers' => [
    Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
]

最后执行:

php artisan ide-helper:generate

该命令会为你的Laravel应用生成一个叫做_ide_helper.php的文件,该文件包含Laravel中包含的所有类的完整数据列表,以及提供类型提示可以使用的注释。

二、优化Eloquent模型的属性和方法注释

Laravel-ide-helper不仅可以增强代码补全,还可以为Eloquent模型添加属性和方法注释。假设我们有这样一个Eloquent模型:

App\User.php

class User extends Model
{
    //
}

执行如下命令即可:

php artisan ide-helper:models -W

Laravel-ide-helper还可以为Eloquent模型自动生成属性和方法的注释。

/**
 * App\User
 *
 * @property int $id
 * @property string $name
 * @property string $email
 * @property string|null $email_verified_at
 * @property string $password
 * @property string|null $remember_token
 * @property \Illuminate\Support\Carbon|null $created_at
 * @property \Illuminate\Support\Carbon|null $updated_at
 * @method static \Illuminate\Database\Eloquent\Builder|User newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder|User newQuery()
 * @method static \Illuminate\Database\Eloquent\Builder|User query()
 * @method static \Illuminate\Database\Eloquent\Builder|User whereCreatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|User whereEmail($value)
 * @method static \Illuminate\Database\Eloquent\Builder|User whereEmailVerifiedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|User whereId($value)
 * @method static \Illuminate\Database\Eloquent\Builder|User whereName($value)
 * @method static \Illuminate\Database\Eloquent\Builder|User wherePassword($value)
 * @method static \Illuminate\Database\Eloquent\Builder|User whereRememberToken($value)
 * @method static \Illuminate\Database\Eloquent\Builder|User whereUpdatedAt($value)
 * @mixin \Eloquent
 */
class User extends Model
{
    //
}

三、优化辅助函数的注释

Laravel框架自带的全局辅助函数,如view(),csrf_token()等,在IDE中有可能会出现不能正确提示的情况,使用laravel-ide-helper工具包进行优化,即可实现自动提示。

php artisan ide-helper:generate -H

注:laravel-ide-helper更新后,需要加-H参数,否则看不到全局辅助函数

四、优化控制器方法注释

Laravel-ide-helper工具包还可以实现Controller中类的方法参数提示

php artisan ide-helper:generate -M

注:laravel-ide-helper更新后,需要加-M参数,否则看不到控制器方法参数的注释。

五、优化路由文件注释

Laravel-ide-helper还可以为路由文件注释,最后生成的方法注释如下:

/**
 * Class UserController
 *
 * @package App\Http\Controllers
 * @param int $id Example: The ID of the user.
 * @param string|null $name
 * @return Response
 */
public function showProfile(int $id, string $name = null)
{
    //
}

生成路由文件注释的命令如下:

php artisan ide-helper:generate -R

总结

Laravel IDE Helper是一种为Laravel项目生成代码提示的优秀工具,同时也可以为你节约下大量的开发时间。