国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[開源] LaravelPlus - 基于 Laravel 魔改,為方便實際業務使用 - 開發中

weknow619 / 2268人閱讀

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

目的

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

現有的 infyomlabs/laravel-generator CODE 生成工具雖然好用,但是不太喜歡樣式和代碼結構。

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

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

介紹

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:

兼容 laravel-plus 目錄名


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

framework 腳本創建內容:

Controller, Service, Repository 等文件和對應關聯關系

Route 資源路由增加

Controller 中資源類型代碼和模型數據處理(開發中)

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

 $ 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 映射(對性能有一定影響,慎用)

使用方式:


dynamic 目錄文件說明

production 生產環境 (必須配置)

develop 開發環境 (必須配置,以下配置繼承 develop 配置)

test 測試環境

local 本地環境

simulation 仿真環境

Tips:

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

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

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

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

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

優化默認路由中閉包

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

緩存清理

php artisan optimize:clear // (慎用)

php artisan view:clear

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

php artisan route:cache

php artisan config:clear

php artisan clear-compiled // 清理編譯

php artisan debug:clear

性能優化(只建議生產環境使用)

php artisan optimize // 類映射加載優化(該命令會自動緩存 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
前端樣式構建
$ npm run dev    // 本地開發,開啟 debug 模式

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

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


改動內容

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

增加默認加載軟件包

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

[doctrine/dbal]

barryvdh/laravel-debugbar debuger 工具

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

$ artisan ide-helper:generate

overtrue/laravel-query-logger 日志工具

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

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

增加前端資源

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

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

擴展結構分層 想法來源

系統分層

- Controllers 控制器層

主要分層

- Services 業務服務層
- Repositories Repository 數據倉庫層
- Models 模型層(無需創建,默認通過模型工具創建)

擴展分層

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

增加 Redis 多語言配置讀取

待辦

完善資源功能:Controller 中模型數據處理和數據返回

增加 Redis 多語言數據庫,和遷移

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

完善 wiki

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/31674.html

相關文章

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

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

    testbird 評論0 收藏0
  • PHP相關

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

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

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

    Flands 評論0 收藏0

發表評論

0條評論

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