为了减小重复 CURD 和新项目的配置麻烦等问题,(就是为了骗星星:LaravelPlus )
如:php
LaravelPlus 基于 Laravel 增长部分软件包初始安装和进行业务使用功能改动,来建立一个开箱即用的应用前端
当前版本基于react
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
#### 复制项目nginx
// 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:laravel
framework 脚本建立内容:git
直接使用本项目内容(推荐)github
$ 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 插件软件包(更新进度略慢本项目)redis
$ composer require php-tool/laravel-plus-make
在 .env 中设置 ENABLE_HOT_SWITCHING=true 后,会在 AppServiceProvider 进行 dynamic 映射(对性能有必定影响,慎用)数据库
使用方式:npm
<?php $env = config('dynamic.env');
dynamic 目录文件说明
develop 开发环境 (必须配置,如下配置继承 develop 配置)
Tips:
.env 配置 DYNAMIC_IS_STRICT 控制热配是否严格模式(默认 false 关闭)
优化默认路由中闭包
php artisan optimize:clear // (慎用)
php artisan debug:clear
php artisan optimize // 类映射加载优化(该命令会自动缓存 config/route)
$ 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 // 监视编译(开发时建议启用)
增长默认加载软件包
production 生产环境
- [respect/validation](https://github.com/Respect/Validation) 验证包 - [react/react](https://github.com/reactphp/react) ReactPHP 多进程异步扩展(能够移除) - 引入 ElasticSearch For scout - [laravel/scout](https://github.com/laravel/scout) - [tamayo/laravel-scout-elastic](https://github.com/ErickTamayo/laravel-scout-elastic) - [elastic/elasticsearch-php](https://github.com/elastic/elasticsearch-php) 原生 ElasticSearch (可选) - rabbitMQ 扩展 - vladimir-yuldashev/laravel-queue-rabbitmq - php-amqplib/php-amqplib 原生(可选) - [rap2hpoutre/laravel-log-viewer](https://github.com/rap2hpoutre/laravel-log-viewer) 日志展现 [访问 host/logs] - [predis/predis](https://github.com/nrk/predis) Redis 插件(建议使用 php-redis 扩展) - [php-tool/laravel-plus-make](https://github.com/PHPTool/LaravelPlusMake) Laravel Plus Make 自动生成 framework 代码插件软件包(可单独引用) - [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) Http 请求包 - [overtrue/laravel-lang](https://github.com/overtrue/laravel-lang) 多语言本地化 i18n
develop 开发环境
reliese/laravel 模型生成工具
$ php artisan code:models --table=tb_name
barryvdh/laravel-ide-helper ide 辅助工具
$ artisan ide-helper:generate
增长前端资源
扩展结构分层 想法来源
系统分层
- Controllers 控制器层
主要分层
- Services 业务服务层 - Repositories Repository 数据仓库层 - Models 模型层(无需建立,默认经过模型工具建立)
扩展分层
- Presenters 固定业务主持中控层 - Transformers 转化层/筛选层(筛选后在选择输出) - Formatters 格式化层(对于输出数据进行格式化,服务于 view 层),便于前端模版渲染与展现
完善资源功能:Controller 中模型数据处理和数据返回
增长 Redis 多语言数据库,和迁移
增长动态视图模式和静态视图模式(渲染后生成 view)切换
完善 wiki