by Devin Yang

建立於: 8年前 ( 更新: 8年前 )

我的後台一開始是自己打造的框架,一樣採用MVC架構,自己做的資料庫連線及環境設定檔等,
包含自己的樣版語法,直到我想讓自己的框架要去支援Restful時,有個想法,
別人都寫好了我何必自己去重寫同樣的功能,寫出來會比較好嗎?
所以開始改用框架,一開始採用Slim,主要因為他對於php的支援版本較低,
因為自己建立的class本身都有使用namespace,所以移植到Slim上沒什麼問題,
但嚐試了Slim的twig templates後,覺的沒有Laravel的blade template好用,
雖然當時我採用Slim的框架,不過我在Slim上選擇使用了Laravel的blade的樣版引擎:p,
那時我裝了philo/laravel-blade,寫了一陣子的slim覺的還是較喜愛Laravel的多樣的功能,
所以再進行一次Slim轉Laravel工作,這個過程極順利,不用再去修改已寫好的樣版了,
大概就是建Controller及路由,做一些拷貝貼上的工作,不到一天半,
就把我的slime框架再轉換到Laravel 5.3上了。

這次又想升級後台的Larave,主因是因為我太喜歡5.5上面新的路由功能了(在Laravel 5.5,好用的基本路由),
這對於我進行前台套版時,會方便很多,再說後台升級也不是第一次幹這種事了,對我來說沒什麼難度。
Laravel 5.3時我已做過一次升級Laravel 5.4,有點經驗,
所以今天再次進行升級,一樣30分鐘內輕鬆搞定,所以來談談我的方式。

當然還是建議去瞄一下Laravel官網的升級指引:
https://laravel.com/docs/5.5/upgrade

以下是個人經驗分享,僅供參考:

由於我的後台的程式碼及使用的Class本來就是自己獨立的Source Code了,所以升級起來超簡單,
覺的有點像是在新版的Laravel上裝了一個套件的feel。

以下是我的升級流程:
一、直接建一個新的Laravel 5.5的Project,初始化git版本控制,我想了解舊版貼到新版差異。
(這裡直接初始化一個新的Project是我不需要5.4之前git修改記錄,順便瘦身一下。)
二、修改compose.json,補上我後台使用的ow_source到app的資料夾,ow_source是我還未使用框架時殘存下來的一些Class,及一些後台需要用到的函式庫(laravel-debugbar&guzzle)。
composer.json
三、貼上我改過的.env檔,到Laravel 5.5的Project內。
四、我有獨立views叫ow的資料夾內含後台的layouts、forms、lists、views、partial全部拷貝到新的laravel下的resource/views內。
五、幾個相關檔案調整,app/Http/Kernel、自己一些獨立的Middleware、config/app.php及config/database.php及config/filesystems.php。
六、資料庫相關的檔案migration檔及seeds,我後台的基本資料表(兩個檔案)。
七、拷貝自己的package.json,resource/asset/內的js及css至新版本的Laravel,並進行安裝npm install。

不到半小時,就搞定了。然後測試,新增修刪,備份及還原,DebugBar、OAuth登入功能。
badkend

乾淨安裝,進行備份資料還原php artisan migrate:refresh及php artisan db:seed都沒問題:D。
這次更新,在進行OAuth驗證的地方,我有多補了一個login的名稱,因為登入時出錯,說找不到login這個名稱。
Route::get('/我的登入/auth','OAuthCallbackController@sso')->name('login');
restore

Tags: laravel

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


dlaravel

安全的更新D-Laravel

如何升級目前的D-Laravel。 如果您目前使用環境上很順,沒碰到問題,可以不用更新。 如果您想採用最新的版本,及bug修正等,請仔細閱讀本文, 為了確保順利升級,以下是建議的D-Laravel升級方式。

dlaravel

D-Laravel v1.5.0新版本了。

一、變更fpm的image產生方式,優化dockerfiles/fpm/php7.x/Dockerfiles,更容易設定及調整擴充套件。 二、調整docker-compose-build.yml,並在D-Laravel的Project目錄下, 可透過./console build快速建立自己的image囉。 還有更多的變更....

Laravel,artisan

關於Laravel的artisan中的--env的操作

本文採用Lravel 9.40.1進行操作我相信很多人都知道了--env的用法,但我還是提供一下資訊給Laravel的初學者。在artisan的指令中,我們能透過--env來指定使用不同的.env檔,這樣在不同的子域名下,我就能用不同的環境甚至是不同的資料庫。大家應該也有注意到,本站採用的是多語的環境,寫兩套嗎?當然沒有,基本上我建了多個.env在同一個Project中。