codecamp

从 4.0 升级到 4.1

升级你的 Composer 依赖性

升级你的应用程序至 Laravel 4.1,将 composer.json 里的 laravel/framework 版本更改至 4.1.*

文件置换

将你的 public/index.php 置换成 这个 repository 的干净版本。

同样的,将你的 artisan 置换成 这个 repository 的干净版本。
添加设置文件及选项

更新你在设置文件 app/config/app.php 里的 aliasesproviders 数组。而更新的选项值可以在 这个文件 中找到。请确定将你后来加入自定和组件所需的 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.phpuse 语句在最上面,将 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().

从 4.1.25 升级到 4.1.26
贡献向导
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

环境配置

系统服务

哈希

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }