为什么Laravel AuthController中的重写特征方法不起作用?

时间:2016-05-30 00:46:33

标签: php laravel laravel-5.2

我试图覆盖一些RegistersUsers特性,以满足我使用Laravel 5.2开发的应用程序的需求。我想覆盖getRegister()方法,因此它的行为可能与其默认行为不同。 这只是我想要做的基本覆盖:

public function getRegister(){
    //Custom behaviour
}

我看到那里有其他人有同样的问题,但遗憾的是没有答案。

Overriding Traits in AuthController

你知道为什么这不起作用吗?

1 个答案:

答案 0 :(得分:1)

它的工作正常,它的PHP。在类上定义的方法会覆盖特征方法。

您可以使用

Route::auth()为您定义身份验证路由,但不会注册任何前往getRegister的路由。

  

"来自基类的继承成员被Trait插入的成员覆盖。优先顺序是当前类的成员覆盖Trait方法,后者又覆盖继承的方法。 " - php.net

PHP - Traits - Precedence

Route::auth() - 注册路线。

$this->get('register', 'Auth\AuthController@showRegistrationForm');
$this->post('register', 'Auth\AuthController@register');