symfony laravel转储对象中的+ - #和空前缀是什么?空前缀是什么意思?

y1aodyip  于 2022-12-27  发布在  其他
关注(0)|答案(1)|浏览(117)

我用dd函数检查了laravel中的碳日期示例,我发现有+ - #和空前缀,我不明白空前缀是什么意思?如何在php类中实现完全相同?
创建带有私有、公共和受保护属性的php对象时,我只得到了-、+、#符号,但我不知道如何得到没有前缀的

jdzmm42g

jdzmm42g1#

空前缀(紫色)表示元数据。
dump()函数(Symfony的VarDumper Component)使用Caster类将需要转储的对象转换为输出。
如果对象是一个常用类的示例(例如内置的php类、Symfony或Doctrine类),则使用一个定制的Caster类,它可以向转储的输出添加额外的数据,或者隐藏数据以使输出更容易读取(例如在转储单个代理实体时过滤掉Doctrine内部)。
对于DateTime示例(Carbon扩展DateTime),将使用DateCaster类,该类将添加date键以及DateTime对象的格式化表示:https://github.com/symfony/symfony/blob/6.2/src/Symfony/Component/VarDumper/Caster/DateCaster.php
所以你不能自己添加没有前缀+#-的属性,除非你自己写Caster类:https://symfony.com/doc/current/components/var_dumper/advanced.html#casters

相关问题