0

我目前正在尝试通过 FormAuthenticate 类在 CakepPHP(在cake\lib\Cake\Controller\Component\Auth文件夹中)中扩展 BaseAuthenticate 类,并且在扩展构造函数时遇到了麻烦。

我正在尝试扩展构造函数以声明一个新对象,然后可以在整个类中使用该对象。

//BaseAuthenticate.php

public function __construct(ComponentCollection $collection, $settings) {
    $this->_Collection = $collection;
    $this->settings = Hash::merge($this->settings, $settings);
}

//ExtendedFormAuthenticate.php

public function __construct()
{
    parent::__construct(ComponentCollection $collection, $settings);
}

如果我在 ExtendedFormAuthenticate.php 中使用上述 __construct 我会收到错误消息syntax error, unexpected T_VARIABLE

public function __construct()
{
    parent::__construct($collection, $settings);
}

如果我在 ExtendedFormAuthenticate.php 中使用上面的 __construct ,我会收到undefined variable错误消息,因为我没有填充这些变量,但我不知道用什么来填充它们。

有谁知道我如何成功扩展 BaseAuthenticate.php 构造函数?或者,有谁知道如何声明要在类中使用的对象,而不是在 __construct 函数中?

4

1 回答 1

5

尝试改变这个:

public function __construct()
{
    parent::__construct(ComponentCollection $collection, $settings);
}

对此:

public function __construct(ComponentCollection $collection, $settings)
{
    parent::__construct($collection, $settings);
}
于 2012-08-08T22:08:42.917 回答