maplesnow / laravel-core
laravel core for developing
v0.57.8
2023-10-24 07:54 UTC
Requires
- php: >=7.1.0
- guzzlehttp/guzzle: ^6.3
- illuminate/support: 5.7.*
- maatwebsite/excel: ^3.1
- maplesnow/laravel-yaml-translation: ^1.0
- zgldh/qiniu-laravel-storage: 0.10.3
Requires (Dev)
- laravel/framework: 5.7.*
README
laravel开发常用核心组件
安装
# 安装依赖 composer require maplesnow/laravel-core # 发布core资源文件 php artisan vendor:publish --provider="MapleSnow\LaravelCore\Providers\CoreServiceProvider" # 发布语言包资源文件 php artisan vendor:publish --provider="MapleSnow\Yaml\TranslationServiceProvider"
内容
artisan创建基础文件命令
创建出实体表相关的controller
,service
,model
,migration
,resource
,route
,request
,lang
。
一条命令指令完成你的工作流
make:flow {表名} {备注}
异常处理
App\Exceptions\Handler
继承 ExceptionReport
文件导出
封装laravel-excel 导出流程,内置导出样式,使流程更简洁
单sheet示例
继承Export抽象类,实现query
,map
,headings
方法
use MapleSnow\LaravelCore\Helpers\Export; class PostExport extends Export implements WithTitle { public function query() { return Post::with('creator')->limit(100); } public function title(): string { return 'Post'; } /** * @param Post $post * @return array */ public function map($post): array { return [ $post->id, $post->title, $post->creator->name, $post->created_at ]; } public function headings(): array { return [ '#', 'Title', 'Author', 'CreateTime' ]; } }
多sheet示例
class MultiPost implements WithMultipleSheets { public function sheets() :array{ $sheets[] = new PostExport(); //$sheets[] = new PostExport(); return $sheets; } }
deprecated
Redis锁
$lockKey = "redisKey"; $lock = new RedisLock(); $lock->Lock($lockKey,10); // logic code $lock->unLock($lockKey);