PHP从Inner类返回值

时间:2017-03-03 19:36:18

标签: php methods return

我心中有这个问题仍然让我感到困惑。我有PHP类,它有通过调用同一个类的其他方法来操作值的方法。所有这些函数都会通过" return"返回一些排序值。声明。但是当我调用任意数量的函数进行操作时,问题就出现了,它总是通过第一个函数调用结束脚本。 例如

(对不起Psuedo代码)

Class H
Method1
$this->Method2()
$this->Method3()
Method2
Returns something
Method3
Returns something
End

当我使用脚本中的method1时,它会调用另外两个具有返回值的方法。我的脚本在Method1内的Method2上结束。

2 个答案:

答案 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/ 我希望这个能让你感觉更好......如果我的回答听起来不太好,请不要质疑......继续搜索..这是一个棘手的问题......