Можно ли получить доступ к $ this из файла include () в классе PHP? - PullRequest
1 голос
/ 01 сентября 2011

Я работаю над виджетом WordPress, и во всех примерах перемешаны огромные куски HTML / PHP, и их невозможно прочитать, поэтому в интересах очистки, я бы хотел переместить весь рендеринг HTMLк отдельному файлу PHP, который будет include() 'd.

Хитрость в том, что файл, который я включаю, не имеет доступа к $this, и я не уверен, как это исправить.

widget.php

class Preorder extends WP_Widget {
    ...
    function form() {
        include('form.php');
    }
}

form.php

<p>
   <?php echo $this->get_field_id('title'); ?>
</p>

Что приводит к [31-Aug-2011 19:59:19] PHP Fatal error: Call to a member function get_field_id() on a non-object in ... такясно, что $this не приходит бесплатно.Я пытался наложить псевдоним $this на другую переменную и даже просто для удовольствия, используя ключевое слово global, но безуспешно.

Надеюсь, я что-то упустил.

1 Ответ

0 голосов
/ 01 сентября 2011

Забыл, что я перебирал каталог & include -ing каждый файл .php, переименовал form.php в form.tmpl и, похоже, работает.

Durr.

...