首页 > 解决方案 > 我如何从php中的对象中获取值

问题描述

我有一个 php 对象,我想从中获取一些值

这就是我所拥有的:

$data = Array (
"title"=> "videotitle",
"filename"=> "test.mp4",
"description"=> "test"
);

$title = ???;

如何在变量中获取标题的值?

标签: phpobject

解决方案


只是一个 php 对象的快速指南,因为您选择的符号应该会引发错误,因为 php 没有像 javascript 或其他语言那样的短对象符号。如果您想在类型提示方面使用未知的匿名对象,那么它们在某种程度上也是不干净的。

php标准类

$object = new stdClass();
$object->foo = 'bar';
$object->bar = 'foo';

$foo = $object->foo;

这应该是声明一个简单对象的唯一干净方式。当然,还有其他一些方法和手段,但不幸的是,它们都很杂乱,根本不符合干净代码的标准。

自有值对象

class MyValueObject implements JsonSerializable
{
    public function __construct(
        protected string $foo,
        protected int $bla
    ) {}

    public function jsonSerialize()
    {
        return get_object_vars($this);
    }
}

这是构造函数属性提升。这种不以旧方式定义对象属性的简短表示法从 php 8 开始可用。您可以按如下方式访问此属性。

$object = new MyValueObject('bla', 2021);
echo $object->foo; // echoes 'bla'
echo $object->bla; // echoes 2021;

要将对象作为 JSON 表示法获取,只需将其作为 json 回显。

echo json_serialize($object);

...这将最终在..

{
    foo: 'bla',
    bla: 2021
}

而已。


推荐阅读