请查看下面的示例代码,我有一个类文件已加载到配置文件中.然后将配置文件加载到我构建的任何页面中.是否可以像在show_header()方法中那样包含头文件?它似乎不起作用,如何才能达到此结果?
// Core.class.PHP
class Core
{
public function show_header($page_name){
require_once 'includes/header.inc.PHP';
}
}
// config.inc.PHP
require_once 'Core.class.PHP';
$core = New core;
// testpage.PHP
require_once 'config.inc.PHP';
$core->show_header('home');
这是我试图包含在页面中的header.inc.PHP文件的顶部,似乎可以使用它,但是它破坏了头文件的工作方式.
//header.inc.PHP
<?PHP
//start page timer
$session->get('user_id');
$profiler = new Profiler;
$profiler->start();
//see if site is turned on/off
$core->sitestatus($config['site_status']);
这部分给我这样的错误…
Notice: Undefined variable: session in
C:\webserver\htdocs\friendproject2\includes\header.inc.PHP
on line 5Fatal error: Call to a member function
get() on a non-object in
C:\webserver\htdocs\friendproject2\includes\header.inc.PHP
on line 5
解决方法:
重新发表评论,听起来您需要一个根Web上下文对象,该对象引用了以下其他对象:
$ctx = WebContext::get();
$ctx->session->get('x');
$ctx->input->get('y');
$ctx->identity->valid;
等等…这就是大多数网络框架的工作方式.
$session需要先定义,然后在包含的文件中引用:
// If a global variable:
global $session;
$session->get('x');
// If a member of Core:
$this->session->get('x');
是的,您可以这样做,可能您需要的是require而不是require_once,并且路径必须基于当前工作目录或绝对路径
尝试添加error_reporting(E_ALL)以查看是否有任何通知在发生…
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。