爲了減小重複 CURD 和新項目的配置麻煩等問題,(就是爲了騙星星:LaravelPlus ) 如:javascript
LaravelPlus 基於 Laravel 增長部分軟件包初始安裝和進行業務使用功能改動,來建立一個開箱即用的應用php
當前穩定版本:html
當前版本基於前端
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:vue
framework 腳本建立內容:java
直接使用本項目內容(推薦)react
$ 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 插件軟件包(更新進度略慢本項目)nginx
$ composer require php-tool/laravel-plus-make
複製代碼
在 .env 中設置 ENABLE_HOT_SWITCHING=true 後,會在 AppServiceProvider 進行 dynamic 映射(對性能有必定影響,慎用)laravel
使用方式:git
<?php
$env = config('dynamic.env');
複製代碼
dynamic 目錄文件說明
Tips:
優化默認路由中閉包
php artisan serve\
複製代碼
設置數據工廠填充中文配置
use Faker\Factory as Factory;
$ $faker = Factory::create('zh_CN');
複製代碼
經過 MainProcess 控制 ChildProcess 進程(僅能在 CLI 模式下運行)
定時執行在 Console/Kernel.php 中 schedule 配置
運行流程
MainProcess(主進程調度) => MainProcessController(主進程執行任務,拆分子進程) => ChildProcess(子進程調度) => ChildProcessController (子進程任務) => MainProcessController(接收子進程) => MainProcess(主進程結束)
複製代碼
業務任務名
$this->business_name
主進程業務邏輯和數據請求
(new \App\Http\Controllers\{$this->business_name}Action())->getData();
(new \App\Http\Controllers\{$this->business_name}Action())->run();
複製代碼
子進程運行業務邏輯\
(new \App\Http\Controllers\{$this->business_name}ProcessAction()->run();
複製代碼
$ 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 // 監視編譯(開發時啓用)
複製代碼
使用 mixin 注入 vue 組件
<script> var js_data = @json($js_data); var mixin = { data: { }, methods: { } } </script>
<script type="text/javascript" src="{{asset('js/app.js')}}"></script>
複製代碼
設置日誌打印默認按天執行(.env::LOG_CHANNEL)
增長默認加載軟件包
$ php artisan code:models --table=tb_name
複製代碼
php $ artisan ide-helper:generate
增長前端資源
增長默認圖片存儲目錄(storage/app/public/images)
擴展結構分層 想法來源
增長 Redis 多語言配置讀取
完善資源功能:Controller 中模型數據處理和數據返回
增長 Redis 多語言數據庫,和遷移
增長動態視圖模式和靜態視圖模式(渲染後生成 view)切換
完善 wiki