2010-07-21 164 views
2

我想了解类和函数如何工作更多。 所以我写了一个有2个函数的类。然后用类构造函数

$fifaadmin = new FifaAdmin; 

发起类当我尝试从另一个调用页面我得到以下错误

调用一个成员函数leagueToReplace()一个非对象该类

我在做什么错?有明显的答案吗? 谢谢

+0

您需要提供更多的代码背景 - 显示类定义等 – Amber 2010-07-21 00:25:51

回答

1

声音像$fifaadmin没有正确实例化对象。

这是什么意思?

var_dump($fifaadmin instanceof FifaAdmin); 

如果设置正确,应该返回true。在你调用一个方法之前试一试。

当你说另一页,你的意思是来自一个PHP包含或一个新的URL(因此请求)?

您将需要在每个请求上实例化它,因为HTTP是无状态的。

+0

返回假的! 在另一个页面上,像包含文件是的。 fifaadmin是一个名为fifaadmin.php的页面上的一个类,它是一个包含。 当我说$ fifaadmin-> method1();它应该使用该方法。 – sark9012 2010-07-21 00:34:20

+0

确保在尝试制作对象的实例之前包含类定义。 – alex 2010-07-21 00:38:32

+0

在PHP会话中保存自定义类的对象的情况下也是如此。 – kiamlaluno 2010-07-21 00:41:48

2

您需要实例化每个页面上的类。每个脚本都是独立执行的。

1

根据您的代码做什么,你可能需要使用static方法:如果你想使用不同的页面类的一个实例

// common.php 
class Common { 
    public static function calculate($x, $y) { 
     return $x + $y; 
    } 
} 

// another PHP file: (you still need to include common.php 
// you won't need to instantiate the class 

echo Common::calculate(10, 20);