ElapseA...

[开源] LaravelPlus - 基于 Laravel 魔改

2019-06-09  本文已影响0人  ben1024

目的

为了减少重复 CURD 和新项目的配置麻烦等问题,(<del>就是为了骗星星</del>:LaravelPlus )
如:

介绍

LaravelPlus 基于 Laravel 增加部分软件包初始安装和进行业务使用功能改动,来创建一个开箱即用的应用

版本基础

当前版本基于

PHP Laravel(影响不大,降低版本理论可以)
>=7.1.3 >=5.8

项目使用说明

下载项目

// 1. github (推荐)
$ git clone https://github.com/ElapseAnnals/LaravelPlus.git  
$ git checkout v5.8.0 // 切换至当前最新稳定版本

// 或

// 2. composer
$ composer create-project elapse-annals/laravel-plus
$ mv laravel-plus  LaravelPlus

复制项目

//  1.在当前目录运行自动复制脚本 (推荐)
$ php LaravelPlus/create YourProject

// 或
 
//  2.在当前目录手动复制项目至自身项目
$ cd LaravelPlus
$ rm composer.lock
$ rsync -av --exclude  . --exclude  .. --exclude  .git/ --exclude  vendor/ --exclude  .github/ LaravelPlus/* YourProject             
                    //  为消除对称  */         
$ cd YourProject
$ rm composer.lock .env .travis
$ cp .env.example .env   

初始化

$ cd YourProject //  进入 YourProject 项目中
$ composer install   // 更新软件包 (请先已安装 composer )
$ php artisan key:generate    // 更新 key
$ php artisan vendor:publish // 发布扩展包的资源
$ php artisan migrate  // 迁移
$ php artisan storage:link // 图片资源软连接映射【非必须】

Tips:

  1. 兼容 laravel-plus 目录名

功能使用说明

创建 framework 分层脚本和资源映射:想法来源

framework 脚本创建内容:

直接使用本项目内容(推荐)

 $ php artisan make:framework Test  // 创建分层结构(推荐)
 $ php artisan make:framework Test --basis  // 创建系统分层和主要分层结构(Controller, Service, Repository)
 $ php artisan make:framework Test --D // 删除分层结构 

或引入 php-tool/laravel-plus-make Laravel Plus Make 插件软件包(更新进度略慢本项目)

$ composer require php-tool/laravel-plus-make
热切换配置使用(config/dynamic/)

在 .env 中设置 ENABLE_HOT_SWITCHING=true 后,会在 AppServiceProvider 进行 dynamic 映射(对性能有一定影响,慎用)

使用方式:

<?php
$env = config('dynamic.env');

dynamic 目录文件说明

Tips:

  1. .env 配置 DYNAMIC_IS_STRICT 控制热配是否严格模式(默认 false 关闭)
    • 严格模式下不会继承 production/develop,完全采用当前环境配置
  2. 默认在继承基础上有重复属性,会覆盖继承项
  3. 继承基础特有属性会被携带至当前配置
  4. config/dynamic.php 为 IDEA 提示文件,使用空 key 即可

优化默认路由中闭包

缓存清理

性能优化(只建议生产环境使用)

$ sudo vim /etc/php/7.2/fpm/php.ini
// set opcache.enable=1
// ...
$ sudo service php5.6-fpm restart
$ sudo service nginx restart
前端样式构建
$ npm run dev    // 本地开发,开启 debug 模式

$ npm run prod    // 线上部署(进行压缩资源)

$ npm run watch   // 监视编译(开发时建议启用)

<hr />

改动内容

待办

完善资源功能:Controller 中模型数据处理和数据返回

增加 Redis 多语言数据库,和迁移

增加动态视图模式和静态视图模式(渲染后生成 view)切换

完善 wiki

上一篇 下一篇

猜你喜欢

热点阅读