PHP 类中的属性范围



我需要什么

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

总结

我有两个方法,fill_default_valueshtmlAdmin$resulthtml内部调用道具时,我无法从fill_default_values内部访问道具。

法典

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 方法,并从我希望$result可用的html内部调用它。相反,我收到此错误消息。

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 = self::fill_default_values();

那么$result应该有一个值

最新更新