在运行时PHP实现接口

时间:2016-04-30 03:43:44

标签: php cartalyst-sentinel

您好我正在使用slim和cartalyst \ sentinel登录应用程序。当我创建新的sentinel提醒实例$reminder = new Cartalyst\Sentinel\Reminders\IlluminateReminderRepository;时,它会在实现UserRepositoryInterface error __construct() must implement interface Cartalyst\Sentinel\Users\UserRepositoryInterface时出错。

我的问题是如何在php中运行时实现接口。

虽然在上面我使用了激活类,它也在src代码中实现了一个接口,如class IlluminateActivationRepository implements ActivationRepositoryInterface,但它没有给出错误。

以下激活类工作正常。

$activation = (new Cartalyst\Sentinel\Activations\IlluminateActivationRepository)->create($user);

1 个答案:

答案 0 :(得分:1)

好的,我通过这个提供用户存储库对象解决了。

$users = $app->container->sentinel->getUserRepository();

 $reminder =  new Cartalyst\Sentinel\Reminders\IlluminateReminderRepository ( $users );