Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel编辑密码提醒行为(密码更改时不删除行)_Php_Laravel_Laravel 4_Ioc Container - Fatal编程技术网

Php Laravel编辑密码提醒行为(密码更改时不删除行)

Php Laravel编辑密码提醒行为(密码更改时不删除行),php,laravel,laravel-4,ioc-container,Php,Laravel,Laravel 4,Ioc Container,我想更改密码提醒的行为方式。在Laravel中,一旦用户重置其密码,在密码提醒表中创建的带有其令牌的行将被删除。 我希望能够做其他事情(设置为使用,等等)。 我想知道的是如何扩展这种行为 PasswordBroker中的重置方法如下:(illumb/Auth/rementers/PasswordBroker.php) 现在,在我的提醒控制器中,我实际上调用了facade密码: $response = Password::reset($credentials, function($user, $p

我想更改密码提醒的行为方式。在Laravel中,一旦用户重置其密码,在密码提醒表中创建的带有其令牌的行将被删除。 我希望能够做其他事情(设置为使用,等等)。 我想知道的是如何扩展这种行为

PasswordBroker中的重置方法如下:(illumb/Auth/rementers/PasswordBroker.php)

现在,在我的提醒控制器中,我实际上调用了facade密码:

$response = Password::reset($credentials, function($user, $password)
        {
            $user->password = Hash::make($password);

            $user->save();
        });
如何创建PasswordBroker的扩展并从控制器调用它?我是否也必须创建新的服务提供商?
那么,编写一个扩展PasswordBroker的新类,编写一个扩展ReminderServiceProvider的新服务提供者,以及一个新的Facade,并在我的控制器中调用该新Facade的新方法?这是正确的方法吗?

服务提供者和Facade只是允许在应用程序级别上访问类/对象的工具,这意味着在应用程序全局范围内。 在你的情况下,这取决于你想在哪里,在什么情况下 访问您的扩展类。在很多情况下,名称空间是更好的选择。 例如,在创建新控制器(控制器扩展基本控制器)时,您已经在扩展Laravel内置类,但没有为该类创建新的提供程序和外观

更新(如何创建新的服务提供商):

首先在app/下用您的提供商名称创建新文件夹(我通常将我的提供商放在app/services下) 然后在composer.json中注册该提供者名称空间

接下来创建三个文件:

  • 基类文件
  • 提供程序类文件
  • 门面类文件
  • 如果您有帮助文件,请添加帮助文件


    声明并定义所有内容,composer dump autoload,您将拥有您的提供者。

    那么您认为创建一个扩展passwordbroker.php的类,创建一个重置方法,并直接通过名称空间调用该扩展类/方法?不需要穿过正面?不过,如果能在应用程序范围内提供,那就太好了,那么我该怎么做呢?创建那个类,并为它创建一个服务提供商和一个门面?这样解释看起来很简单!我要为它干杯。
    $response = Password::reset($credentials, function($user, $password)
            {
                $user->password = Hash::make($password);
    
                $user->save();
            });