用右手邻
我是OOP的新手。
我正在使用PHP v5 +
我有我的index.php:
<?
include_once('class/includes.php');
$reg = new register;
$action = $_GET['action'];
$page = $_GET['page'];
include('header.php');
if($page):
include($page);
else:
include('home.php');
endif;
include('footer.php');
?>
我设置了htaccess,以便每个页面的网址都是foo.com/pagename
很好。
在我的classes.php页面(foo.com/classes)上,默认情况下包含viewClasses.php //注意课程是指瑜伽课而不是OOP课程
基本上我有2个包含级别(index.php包括classes.php,其中包括viewClass.php)
这是我的viewClass.php
<?
global $reg;
$reg->viewClassList();
echo $reg->classList;
?>
出于某种原因,它没有按照index.php中的定义获取$ reg,因此给了我这个错误:
致命错误:在第3行的/home/pandazco/public_html/register/viewClass.php中的非对象上调用成员函数viewClassList()
我希望这足以解释我的问题......
答案 0 :(得分:4)
问题似乎是你没有在viewClass.php中包含实例化,这意味着$ reg什么都不是。这就是错误告诉你的。
但是我永远不会使用全球变量,事实上我很确定有很多关于不使用它们的冗长讨论。相反,如果你需要在不同的PHP脚本之间传递数据,我会设置一个会话变量并从中读取。
另外,为什么你使用$ reg作为全球?您似乎要做的就是在index.php中实例化它并尝试在viewClass.php中调用它。你想要达到什么目的?