從 4.0 升級(jí)到 4.1

2018-02-24 15:51 更新

升級(jí)你的 Composer 依賴性

升級(jí)你的應(yīng)用程序至 Laravel 4.1,將 composer.json 里的 laravel/framework 版本更改至 4.1.*。

文件置換

將你的 public/index.php 置換成 這個(gè) repository 的干凈版本。

同樣的,將你的 artisan 置換成 這個(gè) repository 的干凈版本。
添加設(shè)置文件及選項(xiàng)

更新你在設(shè)置文件 app/config/app.php 里的 aliasesproviders 數(shù)組。而更新的選項(xiàng)值可以在 這個(gè)文件 中找到。請(qǐng)確定將你后來(lái)加入自定和組件所需的 providers / aliases 加回?cái)?shù)組中。

從 這個(gè) repository 增加 app/config/remote.php 文件。

在你的 app/config/session.php 增加新的選項(xiàng) expire_on_close。而默認(rèn)值為 false

在你的 app/config/queue.php 文件里添加 failed 設(shè)置區(qū)塊。以下為區(qū)塊的默認(rèn)值:

'failed' => array(
    'database' => 'mysql', 'table' => 'failed_jobs',
),

(非必要) 在你的 app/config/view.php 里,將 pagination 設(shè)置選項(xiàng)更新為 pagination::slider-3。

更新控制器(Controllers)

如果 app/controllers/BaseController.phpuse 語(yǔ)句在最上面,將 use Illuminate\Routing\Controllers\Controller;改為 use Illuminate\Routing\Controller;

更新密碼提醒

密碼提醒功能已經(jīng)大幅修正擁有更大的彈性。你可以執(zhí)行 Artisan 指令 php artisan auth:reminders-controller 來(lái)檢查新的存根控制器。你也可以瀏覽 更新文件 然后相應(yīng)的更新你的應(yīng)用程序。

更新你的 app/lang/en/reminders.php 語(yǔ)系文件來(lái)符合 這個(gè)新版文件。

更新環(huán)境偵測(cè)

為了安全因素,不再使用網(wǎng)域網(wǎng)址來(lái)偵測(cè)辨別應(yīng)用程序的環(huán)境。因?yàn)檫@些直很容易被偽造欺騙,繼而讓攻擊者透過請(qǐng)求來(lái)達(dá)到變更環(huán)境。所以你必須改為使用機(jī)器的 hostname(在 Mac & Ubuntu 下執(zhí)行 hostname 出來(lái)的值)

(譯按:的確原有方式有安全性考量,但對(duì)于現(xiàn)行 VirtualHost 大量使用下,反而這樣改會(huì)造成不便)

更簡(jiǎn)單的日志文件

Laravel 目前只會(huì)產(chǎn)生單一的日志文件:app/storage/logs/laravel.log。然而,你還是可以透過設(shè)置你的 app/start/global.php 文件來(lái)更改他的行為。

刪除重定向結(jié)尾的斜線

在你的 bootstrap/start.php 文件中,移除調(diào)用 $app->redirectIfTrailingSlash()。這個(gè)方法已不再需要了,因?yàn)橹髮?huì)改以框架內(nèi)的 .htaccess 來(lái)處理。

然后,用 新版 替換掉你 Apache 中的 .htaccess 文件,來(lái)處理結(jié)尾的斜線問題。

取得目前路由

取得目前路由的方法由 Route::getCurrentRoute() 改為 Route::current()。

Composer 更新

一旦你完成以上的更新,你可以執(zhí)行 composer update 來(lái)更新應(yīng)用程序的核心文件。如果有 class load 錯(cuò)誤,請(qǐng)?jiān)?update 之后加上 --no-scripts,如:composer update --no-scripts

萬(wàn)用字符事件監(jiān)聽者

萬(wàn)用字符事件監(jiān)聽者不再添加事件為參數(shù)到你的處理函數(shù)。如果你需要尋找你觸發(fā)的事件你應(yīng)該用 Event::firing().

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)