我用dd函数检查了laravel中的碳日期示例,我发现有+ - #和空前缀,我不明白空前缀是什么意思?如何在php类中实现完全相同?创建带有私有、公共和受保护属性的php对象时,我只得到了-、+、#符号,但我不知道如何得到没有前缀的
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
dump()
VarDumper Component
Caster
DateTime
Carbon
DateCaster
date
+#-
1条答案
按热度按时间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