如何在laravel

时间:2018-03-07 13:50:14

标签: php laravel

我的控制器中有一个名为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;
    }
}

2 个答案:

答案 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',
相关问题