因为某些原因需要搞个 laravel 项目,于是乎翻出此前的文章补充记录下 laravel 开发准备工作。
本教程适用环境:
安装 laravel
- 安装 php
- 安装 composer
- 换源:
composer config -g repo.packagist composer https://packagist.laravel-china.org
- 全局安装
laravel/installer
:composer 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"
]
}
可选设置项:
添加对 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
添加对 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 支持的插件,功能截图如下:
此插件依赖于 barryvdh/laravel-ide-helper
在 Settings > Plugins
中搜索 Laravel Plugin 进行安装
本地化
生成 Application Key
php artisan key:generate
修改时区
// config/app.php
'timezone' => 'Asia/Shanghai'
安装语言包
composer require --dev overtrue/laravel-lang
将 config/app.php
中
Illuminate\Translation\TranslationServiceProvider::class
替换为
Overtrue\LaravelLang\TranslationServiceProvider::class
并修改 locale
'locale' => 'zh-CN'