我的控制器中有一个名为response的方法。但它显示以下错误
致命错误:无法重新声明响应()
HomeController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
function response($params, $salt) {
if (!is_array($params))
throw new Exception('response params is empty');
if (empty($salt))
throw new Exception('Salt is empty');
if (empty($params['status']))
throw new Exception('Status is empty');
$response = new Response($salt);
$result = $response->get_response($_POST);
unset($response);
return $result;
}
}
答案 0 :(得分:1)
响应方法已在laravel基本控制器中定义,无法覆盖。它由框架提供,以方便创建新的响应对象。
如果要更改基本响应功能,只需扩展Response类
即可如果您想要其他内容,请使用其他名称。
答案 1 :(得分:0)
您可以扩展响应类...
use Illuminate\Support\Facades\Response;
class myResponse extends Response{
public function __construct()
{
// do something cool...
}
}
或者也许......
use Illuminate\Support\Facades\Response as BaseResponse;
class Response extends BaseResponse{
public function __construct()
{
// do something cool...
}
}
然后你需要在config / app.php中用你自己的替换Laravels外观。
'Response' => 'Path\Facades\Response',