我心中有这个问题仍然让我感到困惑。我有PHP类,它有通过调用同一个类的其他方法来操作值的方法。所有这些函数都会通过" return"返回一些排序值。声明。但是当我调用任意数量的函数进行操作时,问题就出现了,它总是通过第一个函数调用结束脚本。 例如
(对不起Psuedo代码)
Class H
Method1
$this->Method2()
$this->Method3()
Method2
Returns something
Method3
Returns something
End
当我使用脚本中的method1时,它会调用另外两个具有返回值的方法。我的脚本在Method1内的Method2上结束。
答案 0 :(得分:0)
那是因为return
杀死了进程并返回了你想要的内容。您可以拥有该类的内部属性并检索它们。设置这些属性的方法称为setters
,检索它们的方法称为getters
。看一下这个示例类:
<?php
Class MyClass {
public $firstName;
public $lastName;
public $city;
// Setters
public function setFirstName($name)
{
$this->firstName = $name;
}
public function setLastName($name)
{
$this->lastName = $name;
}
public function setCity($city)
{
$this->city = $city;
}
// Getters
public function getFullName($name)
{
return "{$this->firstName} {$this->lastName}";
}
public function getCity($name)
{
return $this->city;
}
}
现在,因为我设置了这些属性,我可以轻松地实例化我的类并获取该信息:
$class = new MyClass();
$class->setFirstName('David');
$class->setLastName('Parker');
$class->setCity('AnyTown');
echo $class->firstName; // David
echo $class->lastName; // Parker
echo $class->city; // AnyTown
// or something like
echo $class->getFullName(); // David Parker
如果您想简单地回显数据,那么实例化类并回显类的属性可能更有意义。我发现return
来自班级的东西通常是好习惯。在处理该类对象时,最好使用echo
。
希望这是有道理的。
答案 1 :(得分:0)
首先,您必须学习PHP中OOPS的基础知识。特别是返回类型的方法,方法重载和覆盖.. http://www.killerphp.com/tutorials/php-objects-page-3/ 我希望这个能让你感觉更好......如果我的回答听起来不太好,请不要质疑......继续搜索..这是一个棘手的问题......