我正在尝试分离我的界面和实现。所以我有一堆执行各种任务的函数。我最初将它们全部公之于众,然后我会从其他页面调用它们。我试图通过将所有实际工作负载函数设置为私有,然后使用1个公共函数来调用它们来加强这一点。
这是我正在尝试的:
class TestClass
{
public function pub1()
{
$this->test1();
$this->test2();
$this->test3();
}
private function test1()
{
$t1 = '1';
return $t1
}
private function test2()
{
$t2 = '2';
return $t2
}
private function test3()
{
$t3 = '3';
return $t3
}
}
我认为这有效,但我无法弄清楚如何调用这些函数。我可以调用pub1(),但我似乎无法调用test1(),test2(),test3()下面的函数。
如果我为一个公共到私人的功能做一个,我可以做这个工作,但我希望不必这样做。
对此的任何帮助都会很棒。
谢谢!
答案 0 :(得分:3)
对pub1()的调用应正确调用test1(),test2()和test3()。但是,您的测试函数返回一个值,然后您的pub1()函数将丢弃。如果你不需要实际将任何东西从那些测试函数返回给调用者,那么你应该没问题。
答案 1 :(得分:2)
你应该重新考虑你的设计。
物体与现实世界有很强的关系。将对象看作黑框,并查看外部需要的属性和方法。
所以:
如果您有界面,请定义它!让一个类实现它。
答案 2 :(得分:-4)
也许是这样的?
public function pub1 ($name) {
return $this->$name();
}