PHP类中的属性范围

时间:2018-03-06 01:00:30

标签: php class methods properties scope

我需要什么

能够在方法$result内访问方法fill_default_values内定义的道具html

摘要

我在类fill_default_values中有两种方法htmlAdmin。在$result内调用fill_default_values时,我无法从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移动到{{1}},一切都像魅力一样。

1 个答案:

答案 0 :(得分:1)

您需要像这样

捕获返回的值
$result = self::fill_default_values();

然后$result应该有一个值