过年假期这两天撸了个laravel的starter,欢迎大家使用及star

把日常开发中的常用功能抽出来做一个starter,避免每次开新项目时耗费的大量重复工作,该repo会长期维护,欢迎大家star。在使用中如有bug或体验问题,请提issue。

x1a0xv4n/laravel-starter: 😺 Your next laravel-api-starter in 30 seconds

基本功能

  1. api模块
    1. dingo😀
    2. jwt-auth
      1. 多表多用户系统隔离😀
      2. jwt-auth黑名单
    3. fractal😀
    4. RSA接口加密(前台用户系统借鉴gadmin,使用RSA加密)
    5. 封装好的Exception异常类
    6. 记录每条请求的参数和响应-后置中间件
  2. admin模块
    1. CORS😀
    2. RBAC😀
    3. 后台log-后置中间件😀
  3. common模块
    1. 文件上传(七牛云、并记录附件)😀
    2. 短信发送😀
    3. redis常用操作RedisService、redis锁RedisLock😀
    4. 敏感词功能😀
    5. 常用辅助函数库😀
  4. 其他
    1. laravel分模块的最佳实践😀
    2. MRSC模型(已留出文件夹,具体业务相关不写)😀
    3. swagger(php的swagger不好用,不写)😀
    4. 支持切换dev、test、prod环境配置😀
    5. 支持项目初始化
      1. 数据库迁移工具(本身jwt需要的user表,也需要迁移工具)
      2. 更新goutils等引入拓展包的版本
    6. laravel错误日志的最佳实践
  5. 代码质量
    1. php-cs-fixerphp-cs-fixer fix $PWD --config=cs.php
    2. 静态检测工具:基于phpstan实现的larastan./vendor/bin/phpstan analyse
  6. 常用功能
    1. 第三方登录(微信登录、qq登录)
    2. 第三方支付(微信支付、支付宝)
    3. url转二维码
    4. 图片验证码

部署

手动部署

  1. clone项目gcl git@github.com:x1a0xv4n/laravel-starter.git
  2. 切换分支。切换分支到对应laravel版本,master分支默认为laravel最新版本git checkout -b origin/target-version-branch
  3. 配置文件。开发环境下,请复制.env.prod.env.dev,并填写基本配置如数据库、redis、dingo等,如有问题,请发issue。
  4. sql文件。执行根目录下的laravel_starter.sql

docker-compose部署

暂时没空,过两天再写

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 12

顶一下,希望大家多多支持,有什么问题请留言

3年前 评论

学习学习

3年前 评论

挺不错的, RSA 接口加密 (前台用户系统借鉴 gadmin,使用 RSA 加密) 这个写在哪里, 没有找到?

3年前 评论
Debuff

支持下 :+1:

3年前 评论

顶一下 :+1: 如果楼主能出一个类似于laravel-admin那样的文档就更好了 :grinning:

3年前 评论

功能挺好的 就是代码看着难受

3年前 评论
 // 优惠券id
    public $couponId;
    // 优惠券内容
    public $couponContent;
    // 优惠券名称
    public $couponName;
    // 有效期
    public $expires;
    // 用户id
    public $userId;
    // 抵扣金额
    public $price;
    // 状态
    public $ss;
    // 类型,默认0通用红包,1其他类型
    public $type;
    // 拓展字段
    public $extend;

这里面的大部分注释都是不需要的
还有这个 ss 就很奇怪


if (!function_exists('isPro')) {
    function isPro()
    {
        return 'production' === env('APP_ENV') ? true : false;
    }
}

这个辅助函数也很迷?

3年前 评论
PfZBgAx4 (楼主) 3年前
TommyTu

很喜欢你写的这个 :+1:

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!