Laravel 开发如此高效,除了其框架本身易用之外,同时也离不开各种丰富的扩展包的支持。
辅助类
laravel-cors
所有问题,跨域先行。跨域问题没有解决,一切处理都是纸老虎。
laravel-cors 是一个解决跨域问题的扩展包,不知道是从哪个版本起,已经默认引入框架了。
1 | composer require fruitcake/laravel-cors |
Laravel-lang
Laravel-lang 是一个非常易用的语言包,现已支持多达75 种语言。
1 | composer require "overtrue/laravel-lang:~5.0" |
编辑配置文件:config/app.php
:
1 | 'locale' => 'zh_CN', |
Captcha for Laravel
captcha 是一个生成验证码的扩展包。
1 | composer require mews/captcha |
Carbon
Carbon 可以帮助我们在 PHP 开发中处理日期 / 时间变得更加简单、更具语义化。
1 | composer require nesbot/carbon |
记得设置时区 config/app.php
:
1 | 'timezone' => 'PRC', |
Eloquent Model Generator
Eloquent Model Generator 是一个基于代码生成器的 Eloquent Model 生成工具。
只在开发环境中安装:
1 | composer require --dev krlove/eloquent-model-generator |
使用:
1 | php artisan krlove:generate:model UserModel --table-name=user --output-path=./Models --namespace=App\\Models |
IDE Helper
Laravel IDE Helper 是一个代码提示及补全工具。
只在开发环境中安装:
1 | composer require --dev barryvdh/laravel-ide-helper |
对于只在开发环境中需要安装的扩展包,在 app/Providers/AppServiceProvider.php 文件中以如下方式进行注册:
1 | public function register() |
基础用法:
php artisan ide-helper:generate
:为 Facades 生成注释php artisan ide-helper:models
:php artisan ide-helper:meta
:生成 PhpStorm Meta file
为 Facades 生成注释
运行一下命令:
1 | php artisan ide-helper:generate |
执行完成之后会在项目根目录下生成一个 _ide_helper.php
文件。
为模型生成注解
使用Laravel 为我们提供的 make:model
默认不会为在模型文件中,生成相应的注解。
当我们需要通过对象获取模型的某个属性时,IDE 这时会提示未定义的属性,虽然不会影响功能的使用,但是对于开发人员来说并不友好。
看起来就像这样:
使用IDE Helper
来生成模型注解:
1 | php artisan ide-helper:models "App\Models\UserModel" |
建议选择『yes』,否则会生成「_ide_helper_models.php」文件,这样在跟踪文件的时候不会跳转到「_ide_helper_models.php」文件。
如果希望为所有模型都加上注解,则省略后面的参数。
看起来好多了:
注意: 为模型生成字段信息必须在数据库中存在相应的数据表。
自动为链式操作注释
1 | php artisan ide-helper:meta |
执行完成之后会在项目根目录下生成一个 .phpStorm.meta.php
文件。
Laravel Query Logger
1 | composer require overtrue/laravel-query-logger --dev |
启用日志记录 config/logging.php
:
1 | // 加入以下配置,开启日志查询记录 |
使用:
1 | tail -f ./storage/logs/laravel.log |
Logging for PHP
Logging for PHP 是一个可以将日志保存至各种位置的扩展包。
通常在测试回调时,会用得比较多。
1 | composer require monolog/monolog |
基础用法:
1 |
|
Laravel Debugbar
Laravel Debugbar 是一个很棒的扩展包。在很多应用程序方面,你可以使用它来收集数据。比如查询,视图,时间等等;
1 | composer require barryvdh/laravel-debugbar --dev |
Laravel Telescope
Laravel Telescope 是一个非常酷的工具,对 Laravel 应用,有“优雅的调试助手”的美称。
你可以用它来监控很多东西:
- 请求
- 命令
- 异常
- 日志
- 查询
- 事件
- …
1 | composer require laravel/telescope --dev |
Faker
fzaninotto/Faker 是一个生成假数据的 PHP 库,支持非常多的语言。
1 | composer require fzaninotto/faker |
Poppy Faker 是基于 fzaninotto/Faker 的中文轻量级 Fake 数据生成类。
1 | composer require poppy/faker |
开发类
jwt-auth
jwt-auth 是 Laravel 和 lumen 下一个优秀 JWT 组件。
具体使用介绍可以查看我的——Laravel jwt-auth 使用详解 。
laravel-enum
laravel-enum 是一个简单易用,扩展性高的处理枚举的扩展包。
1 | composer require bensampo/laravel-enum |
Intervention/image
Intervention/image 是一个处理图片裁切的扩展包,对应的API 文档在这里。
1 | composer require intervention/image |
laravel-wechat
1 | composer require "overtrue/laravel-wechat" |
easy-sms
easy-sms 一款满足你的多种发送需求的短信发送组件。
1 | composer require "overtrue/easy-sms" |