📜  php 返回新对象 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:39.534000             🧑  作者: Mango

PHP 返回新对象

在 PHP 中,我们可以通过许多不同的方式返回新的对象。这些对象可以是自定义类实例、PHP 内置类实例或者匿名对象。

自定义类实例

要返回自定义类实例,我们需要创建类的对象并返回它。例如:

class MyClass
{
    public $prop;

    public function __construct($value)
    {
        $this->prop = $value;
    }
}

function createMyClass($value)
{
    return new MyClass($value);
}

$obj = createMyClass('Hello, World!');
echo $obj->prop; // 输出 'Hello, World!'

我们首先创建 MyClass 类,并在 createMyClass 函数中创建类的实例并返回它。需要注意的是,我们必须在构造函数中初始化属性。

PHP 内置类实例

PHP 本身提供了大量的内置类,如 DateTimeExceptionRuntimeException 等。要返回这些内置类的实例,我们只需使用关键字 new 创建实例并返回它。例如:

function createDateTime($time)
{
    return new DateTime($time);
}

$dt = createDateTime('now');
echo $dt->format('Y-m-d H:i:s'); // 输出当前时间

我们在 createDateTime 函数中创建了 DateTime 类的实例,并在 format 方法中打印了当前时间的格式化字符串。

匿名对象

PHP 7 引入了匿名类和匿名对象的概念。匿名类不需要类名,可以在运行时动态创建。匿名对象则是匿名类的实例。要创建匿名对象,我们只需使用 new 关键字并直接在括号中定义类的内容。例如:

$obj = new class {
    public $prop = 'Hello, World!';

    public function sayHello()
    {
        echo $this->prop;
    }
};

$obj->sayHello(); // 输出 'Hello, World!'

我们创建了一个匿名类并在其中定义了一个名为 prop 的属性和一个名为 sayHello 的方法。然后我们直接在 new 关键字中使用这个类来创建匿名对象,调用 sayHello 方法并输出属性的值。

以上就是 PHP 返回新对象的方式,你可以根据自己的需求使用不同的方法来创建和返回对象。