【发布时间】:2011-10-02 15:09:33
【问题描述】:
可能重复:
PHP method chaining?
我有一个创建用户的功能,例如类内的 cruser 并设置密码,例如 setpw。
我想创建一个验证函数来检查用户名和密码,我想像这样使用它:
$a = new class abc();
$a->cruser->chk();
$a->setpw->chk();
需要 2 个不同的功能或相同的功能吗? 太优雅了,怎么定义呢?
class abc {
function cruser { }
function setpw {}
//??? - need to define here chk or to different class?
}
适用于 PHP 5.2/5.3。
我怎样才能做到这一点,或者有更好的方法吗?
【问题讨论】:
-
您的密码/用户名检查应该由不同的类/服务完成。
-
我相信
$a->foo->bar()被称为方法链接,可以通过从每个可链接方法返回$this来实现。不过,我对细节有点粗略。 -
Ruchard H:不,我想在同一类中创建。我展示了用于测试的 phpunit 示例,但我想知道如何定义它。有可能是100%。问题是:如何? :)
-
Ross:如果我调用 $a->cruser->chk 和 $a->setpw-,如果你想检查 cruser 值和 setpw 值,你能输入一个如何定义 chk() 的小例子吗? >chk?如何检测 chk 内部调用此 chk() 的函数?
-
bazmegakapa:这不是重复,因为我有确切的例子需要解决。 :) 但也感谢您的帮助! :)