by Devin Yang

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

我的後台一開始是自己打造的框架,一樣採用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

需要登入才可留言!

類似的文章


d-laravel,docker

D-Laravel v1.2.1版變更說明(建議更新,必免踩雷)

D-Laravel v1.2.1版修正說明 use GuzzleHttp\Client; 進行post時.出現存取被拒的問題。 如果您是由舊版升級,您可能需調整etc/default-ssl.conf的設定檔 (如果有該檔) 請調整php:9000變更為web:9000,你可以透過執行一次./console secure調整。 docker-compose設定檔部份,PHP-FPM container變更為network_mode: "service:web"...

laravel

如何使用Laravel的Validator自訂錯誤訊息

我們通常開發Laravel時,有時會進行欄位驗證,但使用Validator預設的訊息是英文的。 但當然想要有更精確顯示中文訊息顯示, 本文介紹,我如何使用Laravel的Validator自訂中文的訊息。

web-hosting,laravel

智邦安裝Laravel 5.4經驗分享

在智邦的Linux 7.0平台安裝Laravel 5.4,成功執行案例分享, 因為原本是舊版的PHP,第一次可以免費轉移至新版本, 所以請他們開了一個測試的php 7.0環境給我們測試,小調整後, Laravel的環境確實可在智邦的代管主機上執行。 本文介紹,我如何在智邦成功的執行Laravel的網站過程。