我试图通过一个额外的方法扩展Laravel的Auth Guard类,所以我最后可以调用Auth::myCustomMethod()
。如何扩展Laravel的Auth Guard类?
继文档部分Extending The Framework我被困在如何完全做到这一点,因为Guard类本身没有自己的IoC binding,我可以重写。
下面是一些代码展示了我想要做的事:
namespace Foobar\Extensions\Auth;
class Guard extends \Illuminate\Auth\Guard {
public function myCustomMethod()
{
// ...
}
}
现在我应该怎么注册扩展的类Foobar\Extensions\Auth\Guard
用于代替原来的Illuminate\Auth\Guard
的,所以我能够调用Auth::myCustomMethod()
的与例如相同的方式Auth::check()
?
一种方法是替换app/config/app.php
中的Auth
别名,但我不确定这是否是解决此问题的最佳方法。
顺便说一句:我正在使用Laravel 4.1。
Thanks f或者你的答案大卫!我希望有一个比创建自己的UserProvider来扩展Guard类更简单的方法。我会等一段时间看看是否有其他建议。 –
@HolgerWeis我已经添加了一个简单的方法来扩展Auth与当前Eloquent驱动程序的扩展名。 “Auth :: extend”代码应该按原样工作。 –