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

需要登入才可留言!

类似文章


Laravel,artisan

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

本文采用Lravel 9.40.1进行操作我相信很多人都知道了--env的用法,但我还是提供一下信息给Laravel的初学者。在artisan的命令中,我们能透过--env来指定使用不同的.env档,这样在不同的子域名下,我就能用不同的环境甚至是不同的数据库。大家应该也有注意到,本站采用的是多语的环境,写两套吗?当然没有,基本上我建了多个.env在同一个Project中。

laravel,dotenv,seo

我如何依子域名动态加载Laravel不同的dotenv档

开始前先来抱怨一下,本来我的网站可以依使用者的浏览器自动显示不同的语系的。这有何不可,但Google的SEO似乎不喜欢这么搞,他建议每种语言使用不同的网址,不要用cookie或浏览器设置来调整网页内容,好吧那我只能乖乖就范了。他的建议作法,第一种方案:依国家区分,像是example.tw或example.de这真的天方夜谭怎么可能,要嘛收购被注册的域名,要不然取个全球没人会取的怪域名还比较有机会。第二种方案:用子域名区分,这正式我准备要做的,等等来说明在Laravel中怎么弄。第三种方案:example.com/tw/ 之类的,Apple好像就这么弄的。第四种方案:site.com?loc=tw之类,不建议使用,确实我也觉的这个不是一个好主意。

dlaravel

D-Laravel测试域名*.dev变更为*.test

由於Google Chrome 63会强制转换*.dev的域名为https了,D-Laravel新版的域名变更为*.test。 本文说明更新的方式。