2

我想覆盖“LoginHandler”类中的“loginForm”方法。我正在尝试使用下面给出的代码。但它不起作用。

LoginHandlerExtension.php

    <?php

    use SilverStripe\Core\Extension;

    class LoginHandlerExtension extends Extension {

        public function loginForm() {
            return 'xxxxxx';
        }
    }

应用程序.yml

SilverStripe\Security\MemberAuthenticator\LoginHandler:
  extensions:
    - LoginHandlerExtension
4

1 回答 1

3

您想在 loginForm 方法上覆盖什么?如果您希望它使用不同的 Form 类(例如MyMemberLoginForm),您可以告诉 Injector 在 YML 中使用您的自定义类,如下所示:

SilverStripe\Core\Injector\Injector:
  MemberLoginForm:
    class: My\Namespaced\LoginForm

因为 LoginForm 方法除了返回表单之外什么也不做。

于 2018-03-13T02:57:09.237 回答