我试图了解类和函数如何工作更多。 所以我写了一个包含2个函数的类。然后用
启动课程$fifaadmin = new FifaAdmin;
当我尝试从另一个页面调用此类时,我收到以下错误
在非对象上调用成员函数leagueToReplace()
我做错了什么?有明显的答案吗? 感谢
答案 0 :(得分:2)
您需要在每个页面上实例化该类。每个脚本都是独立执行的。
答案 1 :(得分:1)
听起来像$fifaadmin
没有正确实例化对象。
这是什么意思?
var_dump($fifaadmin instanceof FifaAdmin);
如果设置正确,则应返回true
。在你调用方法之前尝试一下。
当您说另一个页面时,您是指PHP包含还是新URL(因此请求)?
您需要在每个请求上实例化它,因为HTTP是无状态的。
答案 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);
答案 3 :(得分:1)
如果要在不同的页面中使用类的实例,则需要将其序列化并将其保存在某处(会话正常)并在需要时将其反序列化。
有关PHP中序列化的更多详细信息http://php.net/manual/en/function.serialize.php