我在代码的第 430 行收到无法在写入上下文中使用函数返回值错误,但我不明白为什么会收到此错误。
奇怪的是,我只在服务器(PHP 5.3)上收到此错误,而不是在我的本地主机(PHP 5.5.10)上收到此错误
return Redirect::route('account-activate-user', (empty(Input::get('code'))) ? '{code}' : e(Input::get('code')))
->with('global', 'De activatie-code is niet geldig.');
有人能解决这个问题吗?
最佳答案
发生这种情况是因为您将 empty()
与函数 (Input::get()
) 的返回值一起使用,而该函数仅接受变量。考虑到 Input::get()
的工作原理,即当未设置输入时,您可以将第二个参数作为默认值传递,您可以跳过 empty()
完全检查并使用:
return Redirect::route('account-activate-user', Input::get('code', '{code}'))
->with('global', 'De activatie-code is niet geldig.');
或者,更接近您的代码:
return Redirect::route('account-activate-user', (Input::has('code') ? '{code}' : e(Input::get('code')))
->with('global', 'De activatie-code is niet geldig.');
关于php - 无法在写入上下文中使用函数返回值 Laravel 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27087240/