成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[開源] LaravelPlus - 基于 Laravel 魔改,為方便實際業(yè)務(wù)使用 - 開發(fā)中

weknow619 / 2280人閱讀

摘要:目的為了減少重復和新項目的配置麻煩等問題,就是為了騙星星如現(xiàn)有的生成工具雖然好用,但是不太喜歡樣式和代碼結(jié)構(gòu)。有些本地,測試,線上的配置需要頻繁改動的需要。

目的

為了減少重復 CURD 和新項目的配置麻煩等問題,(就是為了騙星星:LaravelPlus )
如:

現(xiàn)有的 infyomlabs/laravel-generator CODE 生成工具雖然好用,但是不太喜歡樣式和代碼結(jié)構(gòu)。

有些本地,測試,線上的配置需要頻繁改動的需要。

多個項目構(gòu)建引入包,配置擴展等重復性操作

介紹

LaravelPlus 基于 Laravel 增加部分軟件包初始安裝和進行業(yè)務(wù)使用功能改動,來創(chuàng)建一個開箱即用的應(yīng)用

版本基礎(chǔ)

當前版本基于

PHP Laravel(影響不大,降低版本理論可以)
>=7.1.3 >=5.8
項目使用說明 下載項目
// 1. github (推薦)
$ git clone https://github.com/ElapseAnnals/LaravelPlus.git  
$ git checkout v5.8.0 // 切換至當前最新穩(wěn)定版本

// 或

// 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 // 發(fā)布擴展包的資源
$ php artisan migrate  // 遷移
$ php artisan storage:link // 圖片資源軟連接映射【非必須】

Tips:

兼容 laravel-plus 目錄名


功能使用說明
創(chuàng)建 framework 分層腳本和資源映射:想法來源

framework 腳本創(chuàng)建內(nèi)容:

Controller, Service, Repository 等文件和對應(yīng)關(guān)聯(lián)關(guān)系

Route 資源路由增加

Controller 中資源類型代碼和模型數(shù)據(jù)處理(開發(fā)中)

直接使用本項目內(nèi)容(推薦)

 $ php artisan make:framework Test  // 創(chuàng)建分層結(jié)構(gòu)(推薦)
 $ php artisan make:framework Test --basis  // 創(chuàng)建系統(tǒng)分層和主要分層結(jié)構(gòu)(Controller, Service, Repository)
 $ php artisan make:framework Test --D // 刪除分層結(jié)構(gòu) 

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

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

在 .env 中設(shè)置 ENABLE_HOT_SWITCHING=true 后,會在 AppServiceProvider 進行 dynamic 映射(對性能有一定影響,慎用)

使用方式:


dynamic 目錄文件說明

production 生產(chǎn)環(huán)境 (必須配置)

develop 開發(fā)環(huán)境 (必須配置,以下配置繼承 develop 配置)

test 測試環(huán)境

local 本地環(huán)境

simulation 仿真環(huán)境

Tips:

.env 配置 DYNAMIC_IS_STRICT 控制熱配是否嚴格模式(默認 false 關(guān)閉)

嚴格模式下不會繼承 production/develop,完全采用當前環(huán)境配置

默認在繼承基礎(chǔ)上有重復屬性,會覆蓋繼承項

繼承基礎(chǔ)特有屬性會被攜帶至當前配置

config/dynamic.php 為 IDEA 提示文件,使用空 key 即可

優(yōu)化默認路由中閉包

路由中禁止使用閉包,如有需要請在 ClosureController 中注冊

緩存清理

php artisan optimize:clear // (慎用)

php artisan view:clear

php artisan cache:clear // 應(yīng)用程序緩存清理(慎用- 會清理 config.cache 中啟用緩存(file/db/redis 等))

php artisan route:cache

php artisan config:clear

php artisan clear-compiled // 清理編譯

php artisan debug:clear

性能優(yōu)化(只建議生產(chǎn)環(huán)境使用)

php artisan optimize // 類映射加載優(yōu)化(該命令會自動緩存 config/route)

php artisan config:cache // 配置緩存

php artisan route:cache // 路由

php artisan view:cache // 視圖緩存

composer dump-autoload --optimize //

開啟 OpCache

$ sudo vim /etc/php/7.2/fpm/php.ini
// set opcache.enable=1
// ...
$ sudo service php5.6-fpm restart
$ sudo service nginx restart
前端樣式構(gòu)建
$ npm run dev    // 本地開發(fā),開啟 debug 模式

$ npm run prod    // 線上部署(進行壓縮資源)

$ npm run watch   // 監(jiān)視編譯(開發(fā)時建議啟用)


改動內(nèi)容

設(shè)置日志打印默認按天執(zhí)行(.env::LOG_CHANNEL)

增加默認加載軟件包

production 生產(chǎn)環(huán)境

- [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 開發(fā)環(huán)境

reliese/laravel 模型生成工具

  $ php artisan code:models --table=tb_name

[doctrine/dbal]

barryvdh/laravel-debugbar debuger 工具

barryvdh/laravel-ide-helper ide 輔助工具

$ artisan ide-helper:generate

overtrue/laravel-query-logger 日志工具

nunomaduro/phpinsights 統(tǒng)計檢測項目問題(類似 PHPCS,需求版本 php 7.2.* ,請手動安裝 composer require nunomaduro/phpinsights --dev)

infyomlabs/laravel-generator Code 代碼生成工具(可選)

增加前端資源

element-ui 樣式框架(可選方案 iview)

增加默認圖片存儲目錄(storage/app/public/images)

擴展結(jié)構(gòu)分層 想法來源

系統(tǒng)分層

- Controllers 控制器層

主要分層

- Services 業(yè)務(wù)服務(wù)層
- Repositories Repository 數(shù)據(jù)倉庫層
- Models 模型層(無需創(chuàng)建,默認通過模型工具創(chuàng)建)

擴展分層

- Presenters 固定業(yè)務(wù)主持中控層
- Transformers 轉(zhuǎn)化層/篩選層(篩選后在選擇輸出)
- Formatters 格式化層(對于輸出數(shù)據(jù)進行格式化,服務(wù)于 view 層),便于前端模版渲染與展示

增加 Redis 多語言配置讀取

待辦

完善資源功能:Controller 中模型數(shù)據(jù)處理和數(shù)據(jù)返回

增加 Redis 多語言數(shù)據(jù)庫,和遷移

增加動態(tài)視圖模式和靜態(tài)視圖模式(渲染后生成 view)切換

完善 wiki

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/31674.html

相關(guān)文章

  • ThinkSNS+ 基于 Laravel master 分支,從 1 到 0,再到 0.1【社交系統(tǒng)

    摘要:年,由北京的團隊開發(fā)了涉足社交開源行業(yè)。終于,在年下半年,我們決定重寫這個程序,拋棄之前的每一行代碼。起初,我們選擇在中做生成函數(shù),配合第三方包實現(xiàn),功能實現(xiàn)了。的拓展不能直接以這種方式使用喲,因為我們做這個的想法是把配置移交到后臺配置。 什么是 ThinkSNS+ 好吧,這不是廣告。。。在 09 年,由北京的團隊開發(fā)了 ThinkSNS 涉足社交開源行業(yè)。09 年,由北京的團隊開發(fā)了...

    testbird 評論0 收藏0
  • PHP相關(guān)

    摘要:的機器學習庫的機器學習庫,包括算法交叉驗證神經(jīng)網(wǎng)絡(luò)等內(nèi)容。在即將到來的大會上,她將和大家分享在機器學習領(lǐng)域的全新可能。入門總結(jié)入門相關(guān),如安裝配置基本使用等。 基于 Swoole 開發(fā) PHP 擴展 Swoole-1.9.7 增加了一個新特性,可以基于 Swoole 使用 C++ 語言開發(fā)擴展模塊,在擴展模塊中可以注冊 PHP 內(nèi)置函數(shù)和類。現(xiàn)在可以基于 Swoole 來編寫 PHP ...

    lewinlee 評論0 收藏0
  • 如何在 Laravel “規(guī)范” 的開發(fā)驗證碼發(fā)送功能【社交系統(tǒng)ThinkSNS研發(fā)日記十一】

    摘要:需求場景發(fā)送驗證碼或者消息通知,可發(fā)送到手機或郵箱中。完成首先,在中的規(guī)范就是使用的消息通知,這里基于場景為驗證碼。所以我們在驗證碼模型中添加是完全符合通知的正確使用的。 順便發(fā)個小通知:7月15日ThinkSNS+開源版發(fā)布,同時非開源的APP也走出內(nèi)測階段,體驗二維碼也全面發(fā)布體驗。 什么是ThinkSNS ? ThinkSNS(簡稱TS),一款全平臺綜合性社交系統(tǒng),為國內(nèi)外大中小...

    Flands 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<