如何解决PHP自动加载变量
| 我不确定这是否可行,或者这是否是发布此类问题的正确地点,但是可以! 有什么方法可以自动加载具有相同名称的类的变量?一个例子:class MyClass
{
....
function display() { echo \'test\'; }
}
我想知道是否可以执行以下操作:
$MyClass->display();
无需事先在$ MyClass变量内创建MyClass类的实例。
正如我说的那样,我不确定这是否可行,如果不是这样的问题,我会很乐意删除我的帖子。
更新
感谢所有您的回答,我想了更多,阅读完您的评论后,我意识到这不是一个好主意,实际上是不切实际的。
谢谢
解决方法
您可以做的是使方法
static
并直接在类上调用该方法:
class MyClass
{
public static function display() { echo \'test\'; }
}
MyClass::display();
除此之外:\“ Autoloading \”变量是不可能的。
, 我认为您应该采用不同的方法,并使用静态方法。
class MyClass
{
....
static function display() { echo \'test\'; }
}
MyClass::display();
无论类的任何实例如何,您都只能使用作用相同的函数来执行此操作。您的示例是静态方法,因为该函数将始终返回test
。如果函数必须使用实例变量或方法,则不能使用它。
, 我认为您想要一个静态的类/函数。你可以做MyClass::display();
。
, 使其成为静态方法。您无需创建类的实例即可调用静态方法。
class foo {
private static $test;
public static function test() {
echo \'test\';
}
}
然后将其调用为:
foo::test();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。