【发布时间】:2018-08-13 18:44:49
【问题描述】:
我需要什么
能够访问 prop $result,在方法 fill_default_values 内部,在方法 html 内部定义。
总结
我有两个方法,fill_default_values 和 html 在类 Admin 内。在fill_default_values 内部调用道具$result 时,我无法在html 内部访问它。
代码
fill_default_values
// grabs values from DB and fills inputs on ADMIN PAGE
protected static function fill_default_values() {
global $wpdb;
$table_name = $wpdb->prefix.'bb_slidersettings';
$result = $wpdb->get_results(
"SELECT
id
FROM
$table_name;"
);
if (!$result) {
?>
<small class="text-red">Something went wrong</small>
<?php
} // endif
return $result;
}// fill_default_values()
html
// Outputs HTML to main admin page
public static function html() {
self::fill_default_values();
?>
<!-- BEGIN HTML -->
<form id="bb-carousel-form" action="" method="POST">
<input name="carousel_id" type="hidden" value="<?php echo $result[0]->id; ?>">
}
您可以看到我创建了fill_default_values 方法并从html 内部调用它,我希望$result 可用。相反,我收到此错误消息。
error
<br />
<b>Notice</b>: Undefined variable: result in <b>[FILE PATH]</b> on line <b>120</b><br />
<br />
<b>Notice</b>: Trying to get property 'id' of non-object in <b>[FILE PATH]</b> on line <b>120</b><br />
奇怪的是,如果我将整个 fill_default_values 移动到 html 中,一切都会像魅力一样。
【问题讨论】:
-
那么你认为
$result会从哪里变魔术呢 -
也许是你做了
$result = self::fill_default_values(); -
我想如果我把它退回来,我就可以访问它了。
-
@RiggsFolly
$result = self::fill_default_values();成功了。如果您想要一些功劳,请继续回答。谢谢。
标签: php class methods properties scope