从 4.0 升级到 4.1
最后更新于:2022-04-01 15:03:07
## 升级你的 Composer 依赖性
升级你的应用程序至 Laravel 4.1,将 `composer.json` 里的 `laravel/framework` 版本更改至 `4.1.*`。
## 文件置换
将你的 `public/index.php` 置换成 这个 `repository` 的干净版本。
同样的,将你的 `artisan` 置换成 这个 `repository` 的干净版本。
添加设置文件及选项
更新你在设置文件 `app/config/app.php` 里的 `aliases` 和 `providers` 数组。而更新的选项值可以在 这个文件 中找到。请确定将你后来加入自定和组件所需的 `providers / aliases` 加回数组中。
从 这个 `repository` 增加 `app/config/remote.php` 文件。
在你的 `app/config/session.php` 增加新的选项 `expire_on_close`。而默认值为 `false`。
在你的 `app/config/queue.php` 文件里添加 `failed` 设置区块。以下为区块的默认值:
~~~
'failed' => array(
'database' => 'mysql', 'table' => 'failed_jobs',
),
~~~
(非必要) 在你的 `app/config/view.php` 里,将 `pagination` 设置选项更新为 `pagination::slider-3`。
## 更新控制器(Controllers)
如果 `app/controllers/BaseController.php` 有 `use` 语句在最上面,将 `use Illuminate\Routing\Controllers\Controller; `改为 `use Illuminate\Routing\Controller;`。
## 更新密码提醒
密码提醒功能已经大幅修正拥有更大的弹性。你可以执行 Artisan 指令 `php artisan auth:reminders-controller` 来检查新的存根控制器。你也可以浏览 更新文件 然后相应的更新你的应用程序。
更新你的 `app/lang/en/reminders.php` 语系文件来符合 这个新版文件。
## 更新环境侦测
为了安全因素,不再使用网域网址来侦测辨别应用程序的环境。因为这些直很容易被伪造欺骗,继而让攻击者透过请求来达到变更环境。所以你必须改为使用机器的 hostname(在 Mac & Ubuntu 下执行 hostname 出来的值)
(译按:的确原有方式有安全性考量,但对于现行 VirtualHost 大量使用下,反而这样改会造成不便)
## 更简单的日志文件
Laravel 目前只会产生单一的日志文件:`app/storage/logs/laravel.log`。然而,你还是可以透过设置你的 `app/start/global.php` 文件来更改他的行为。
## 删除重定向结尾的斜线
在你的 `bootstrap/start.php` 文件中,移除调用 `$app->redirectIfTrailingSlash()`。这个方法已不再需要了,因为之后将会改以框架内的 `.htaccess` 来处理。
然后,用 新版 替换掉你 Apache 中的 `.htaccess` 文件,来处理结尾的斜线问题。
## 取得目前路由
取得目前路由的方法由 `Route::getCurrentRoute()` 改为 `Route::current()`。
## Composer 更新
一旦你完成以上的更新,你可以执行 `composer update` 来更新应用程序的核心文件。如果有 `class load` 错误,请在 `update` 之后加上 `--no-scripts`,如:`composer update --no-scripts`。
## 万用字符事件监听者
万用字符事件监听者不再添加事件为参数到你的处理函数。如果你需要寻找你触发的事件你应该用 `Event::firing()`.