📅  最后修改于: 2023-12-03 15:33:39.534000             🧑  作者: Mango
在 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 本身提供了大量的内置类,如 DateTime
、Exception
、RuntimeException
等。要返回这些内置类的实例,我们只需使用关键字 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 返回新对象的方式,你可以根据自己的需求使用不同的方法来创建和返回对象。