Possible to access $this from include()#39;d file in PHP class?(可以从 PHP 类中的 include()d 文件访问 $this 吗?)
问题描述
我正在开发一个 WordPress 小部件,这些示例都有巨大的 HTML/PHP 块混合在一起,无法阅读,所以为了尝试清理内容,我想移动所有的 HTML 渲染到一个单独的 PHP 文件,该文件将被 include()
'd.
I'm working on a WordPress Widget and the examples all have huge HTML/PHP chunks intermixed and it is impossible to read, so in the interest of trying to clean stuff up I'd like to move all of the HTML rendering to a separate PHP file that will be include()
'd.
诀窍是,我包含的文件似乎无法访问 $this
,我不确定如何解决.
The trick to this is, the file I include doesn't appear to have access to $this
and I'm unsure how to fix that.
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
关键字没有成功.
Which results in [31-Aug-2011 19:59:19] PHP Fatal error: Call to a member function get_field_id() on a non-object in ...
so clearly $this
doesn't come along for free. I've tried aliasing $this
to another variable & even just for fun using the global
keyword without success.
希望我错过了一些简单的事情.
Hopefully I missed something easy.
推荐答案
忘了我是在遍历目录 &include
-ing 每个 .php 文件,将 form.php 重命名为 form.tmpl 并且似乎可以工作.
Forgot that I was iterating over the directory & include
-ing every .php file, renamed form.php to form.tmpl and appears to work.
杜尔.
这篇关于可以从 PHP 类中的 include()'d 文件访问 $this 吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:可以从 PHP 类中的 include()'d 文件访问 $this 吗?
基础教程推荐
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01