Php 如何重写用户名方法我想传递2个值
大家好,我正在尝试重写auth函数来创建登录表单,其中 用户可以使用电子邮件id或电话号码登录,因此我会尝试覆盖内置的身份验证。这里是location vendor\laravel\framework\src\foundation\auth\authenticatesuser.php 下面是我要覆盖$username的代码 我想在$username中传递两个变量,比如“phone”和“email”,使用“or”条件来实现这一点Php 如何重写用户名方法我想传递2个值,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,大家好,我正在尝试重写auth函数来创建登录表单,其中 用户可以使用电子邮件id或电话号码登录,因此我会尝试覆盖内置的身份验证。这里是location vendor\laravel\framework\src\foundation\auth\authenticatesuser.php 下面是我要覆盖$username的代码 我想在$username中传递两个变量,比如“phone”和“email”,使用“or”条件来实现这一点 public function loginUsername()
public function loginUsername()
{
return property_exists( $this,'username') ? $username : 'phone';
}
这是编辑的最佳方式吗?或者我可以通过任何其他方式实现laravel 5.2中auth提供的所有功能,您不必编辑该方法,但必须重写它
public function loginUsername()
{
$loginUsernames = ['username', 'email', 'phone'];
foreach ($loginUsernames as $loginUsername) {
if (property_exists($this, $loginUsername)) {
return $loginUsername;
}
}
throw new \Exception('Unknown user type!');
}
其抛出错误未知用户类型我提供了正确的凭据