【发布时间】:2012-11-14 15:46:23
【问题描述】:
如果我有以下类示例:
<?php
class Person
{
private $prefix;
private $givenName;
private $familyName;
private $suffix;
public function setPrefix($prefix)
{
$this->prefix = $prefix;
}
public function getPrefix()
{
return $this->prefix;
}
public function setGivenName($gn)
{
$this->givenName = $gn;
}
public function getGivenName()
{
return $this->givenName;
}
public function setFamilyName($fn)
{
$this->familyName = $fn;
}
public function getFamilyName()
{
return $this->familyName;
}
public function setSuffix($suffix)
{
$this->suffix = $suffix;
}
public function getSuffix()
{
return $suffix;
}
}
$person = new Person();
$person->setPrefix("Mr.");
$person->setGivenName("John");
echo($person->getPrefix());
echo($person->getGivenName());
?>
我在 PHP(最好是 5.4)中有一种方法,可以将这些返回值组合到一个函数中,这样它的模型更像是 JavaScript 中的显示模块模式?
更新: 好的,我现在开始了解在 PHP 中,从函数返回单个值是规范的,但您“可以”返回多个值的数组。这是我的问题的最终答案,我将在这种理解下深入研究一些实践。
小例子——
function fruit () {
return [
'a' => 'apple',
'b' => 'banana'
];
}
echo fruit()['b'];
还有一篇我在stackoverflow上看到的关于这个主题的文章...... PHP: Is it possible to return multiple values from a function?
祝你好运!
【问题讨论】:
-
你为什么不直接返回一个数组??或者你到底在期待什么?
-
我是 PHP 的 OOP 新手,但看起来代码可以被压缩,在知道返回什么和不返回什么的意义上,为什么向下滚动一百万行代码到当您可以从单个构造函数控制所有返回的函数时,查看返回的是什么函数。
-
当然可以!自己返回对象即可:
return $this; -
好的,这对我来说很有意义。当归结为在类中返回选择性 PHP 函数时,我只需要学习如何正确返回它
-
您可能会为此使用魔法__set and __get。
标签: php oop class design-patterns