Back
Featured image of post Laravel 开发准备工作

Laravel 开发准备工作

因为某些原因需要搞个 laravel 项目,于是乎翻出此前的文章补充记录下 laravel 开发准备工作。

因为某些原因需要搞个 laravel 项目,于是乎翻出此前的文章补充记录下 laravel 开发准备工作。

本教程适用环境:

安装 laravel

  • 安装 php
  • 安装 composer
  • 换源:composer config -g repo.packagist composer https://packagist.laravel-china.org
  • 全局安装 laravel/installercomposer global require laravel/installer
  • 创建 laravel 项目:laravel new blog

安装 laravel-ide-helper

Laravel 本身的依赖注入,服务提供者等特性使得 IDE 很难做到代码检查和智能提示,所以需要安装 barryvdh/laravel-ide-helper 来辅助进行代码补全和追踪。

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

然后运行下列代码命令生成代码提示文件:

php artisan ide-helper:generate
php artisan ide-helper:meta

你可以设置 composer.json 使每次自动更新后重新生成代码提示文件:

"scripts":{
    "post-update-cmd": [
        "Illuminate\\Foundation\\ComposerScripts::postUpdate",
        "php artisan ide-helper:generate",
        "php artisan ide-helper:meta"
    ]
}

可选设置项:

  1. 添加对 migration 的代码提示的支持:

    发布配置文件 config/ide-helper.php

    php artisan vendor:publish --provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --tag=config
    

    更改 include_fluent 设置

    'include_fluent' => true
    

    然后重新生成代码提示文件

    php artisan ide-helper:generate
    
  2. 添加对 Model 的代码提示的支持:

    这里使用 @mixin 注解来标注文档

    PhpStorm interprets @mixin regardless of PHP version just the same way it interprets “use trait” (see WI-1730 for details)

    在你的模型类或者 Illuminate\Database\Eloquent\Model 前加上 /** @mixin \Eloquent */

       namespace Illuminate\Database\Eloquent;
    
       use ...;
    
       /** @mixin \Eloquent */
       abstract class Model implements ArrayAccess, Arrayable, Jsonable, JsonSerializable, QueueableEntity, UrlRoutable
       { ... }
    

安装 Laravel Plugin

Laravel Plugin 是一个增强 PhpStorm 对 Laravel 支持的插件,功能截图如下:

功能截图1
功能截图1

功能截图2
功能截图2

此插件依赖于 barryvdh/laravel-ide-helper

Settings > Plugins 中搜索 Laravel Plugin 进行安装

本地化

生成 Application Key

php artisan key:generate

修改时区

// config/app.php
'timezone' => 'Asia/Shanghai'

安装语言包

安装 overtrue/laravel-lang :

composer require --dev overtrue/laravel-lang

config/app.php

Illuminate\Translation\TranslationServiceProvider::class

替换为

Overtrue\LaravelLang\TranslationServiceProvider::class

并修改 locale

'locale' => 'zh-CN'
Licensed under CC BY-NC-SA 4.0
转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!
Last updated on Aug 21, 2021 14:25
Built with Hugo
Theme Stack modified by SSpirits