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

需要登入才可留言!

类似文章


dlaravel

安全的更新D-Laravel

如何升级目前的D-Laravel。 如果您目前使用环境上很顺,没碰到问题,可以不用更新。 如果您想采用最新的版本,及bug修正等,请仔细阅读本文, 为了确保顺利升级,以下是建议的D-Laravel升级方式。

laravel,oauth2

我最常用的Laravel passport命令

Laravel提供了相当多好用的Package,像Passport就是其中之一,当网站需要自架OAuth2验证主机时,真的是省时省力。本站为例,因为采前后台分离机制(有两个不同的Laravel项目),我都透过前台的WEB进行验证。基本上,我还有很多其他不同的项目,也都靠Laravel提供的OAuth2就搞定跨域验证。

laravel

升级Laravel 8.8,我把文章及笔记集成在一起了

Laravel 8大改版,我的网站也跟著改版,我网站上的「笔记」及「文章」本来是分开两个区块的。 这次把他集成在一起了,反正也没什么文章,合起来内容看起来比较多。:p