它是一个名为$_product
的woocommerce对象
当我var_dump
它时,我得到:
object(WC_Product_Variation)#4358 (13) {
["post_type":protected]=>
string(17) "product_variation"
["parent_data":protected]=>
array(16) {
["title"]=>
string(7) "Antares"
["status"]=>
string(7) "publish"
["sku"]=>
string(0) ""
当我回显$_product->post_type;
时,我按预期得到了product_variation
,但我无法访问状态值!
var_dump($_product->parent_data);
不提供任何信息(为空)
为什么?
不能访问对象实例或其父实例之外的受保护的
属性。有关更多信息,请参见PHP.NET上的属性可见性。
那么,为什么可以访问$post_type
,即使它是保护的
呢?好吧,有人足够“聪明”,在这个神奇的getter方法中定义了一个规则异常--https://woocommerce.github.io/code-reference/files/woocommerce-includes-legacy-abstract-wc-legacy-product.html#source-view.68
这是一种不好的做法,不应该使用。
相反,您可以创建自己的类,扩展WC_Product_Variation
并定义自己的公共getterGetPostType()
和GetParentData()
。当您想要使用getter时,不要忘记实例化myWC_Product_Variation
而不是WC_Product_Variation
。
class MyWC_Product_Variation extends WC_Product_Variation
{
public function getPostType(): string
{
return $this->post_type;
}
public function getParentData(): array
{
return $this->parent_data;
}
}
问题内容: 我有一个要从ExtJS界面发布到PHP的JSON对象。我从那里得到物体 该对象将包含3个数组,我可以查看是否 我需要获取每个数组并从中构建SQL查询。我的第一个障碍是将数组移出对象,尽管这可能是不必要的。这是我正在使用的代码块: 我没有正确创建数组。我也尝试过 那也不行。我确定我在这里容易错过一些事情。同样,这可能是不必要的,因为我可能可以直接访问它们。我需要通过遍历数组并将每个键附加
问题内容: 我有以下JSON: 我拼命尝试访问动态对象名称,如,该怎么办? 现在我有: 问题答案: 我可以想象,最简单的方法是解码为关联数组而不是stdClass对象
问题内容: 首先看下面的JavaScript对象 我想将值设置为与相同,因此我将对象值放在前面,但它对我不起作用,我也使用过,但仍然失败。我的问题是如何访问对象内对象的属性。 一些用户沉迷于问“您想做什么或发送脚本等”,对于那些人来说,答案很简单:“我想访问对象内的对象属性”,上面提到了脚本。 任何帮助将不胜感激 :) 问题答案: 使用 对象文字 语法时,不能在初始化期间引用对象。创建对象后,需要
问题内容: 看一下这个例子: 如何从子对象中访问随机对象? 问题答案: 让类将自己的实例传递给该类。 经典Occam剃刀。
可以使用点号(.),或中括号([])来访问 JSON 对象的值。 使用点号访问对象时,直接使用对象的 key 来访问, key 无须放在双引号中。如: <script> var myObj, x; myObj = { "github": "https://github.com/leiqikui" }; x = myObj.github; document.write(x); </
问题内容: 就像是 这是我想象的格式,但事实并非如此。什么会退回到对象的父级? 问题答案: JavaScript本身不提供此功能。而且我怀疑您是否可以创建这种类型的功能。例如: 鲍比属于谁?
问题内容: 您如何访问PHP对象的属性? 此外,使用vs 访问对象的属性有什么区别 ? 当我尝试使用时,出现以下错误: “ PHP:无法访问空属性”。 PHP的对象属性文档中有一条评论提到了这一点,但是该评论并没有真正深入地解释。 问题答案: //特定变量 //特定属性 在类上的一般用法是在没有其他情况下调用被称为任意值的变量。 例:
问题内容: 好的,这是一个新手问题,但我在任何地方都找不到答案。在Symfony2中的控制器中,我想从我的一个表单中访问POST值。在控制器中,我有: 不幸的是没有返回任何东西。我究竟做错了什么?谢谢! 问题答案: 此解决方案从2.3开始弃用,并将在3.0中删除,请参阅文档 给你一个数组的形式参数 摘自symfony2书第162页(第12章:表格) […]有时,您可能只想使用没有类的表单,并取回已