你好我试着覆盖auth函数来创建登录表单 用户可以使用电子邮件ID或电话号码登录,因此我尝试覆盖内置的auth,这里是位置供应商\ laravel \ framework \ src \ foundation \ auth \ authenticatesuser.php
这里是我要覆盖$ username的代码 我想在$ username中传递两个变量,比如'phone'和'email',使用“或”条件我是如何实现这个的
public function loginUsername()
{
return property_exists( $this,'username') ? $username : 'phone';
}
这是编辑的最佳方式吗?或者我可以在laravel 5.2中实现auth提供的所有功能的任何其他方式
答案 0 :(得分:0)
您不必编辑该方法,但必须改为覆盖它。
public function loginUsername()
{
$loginUsernames = ['username', 'email', 'phone'];
foreach ($loginUsernames as $loginUsername) {
if (property_exists($this, $loginUsername)) {
return $loginUsername;
}
}
throw new \Exception('Unknown user type!');
}