PHP自动加载变量

时间:2011-05-31 20:13:11

标签: php oop class variables

我不确定这是否可能,或者这是否是发布此类问题的正确位置,但这里有效!

有没有办法用同名的类自动加载变量?一个例子:

class MyClass
{
    ....
    function display() { echo 'test'; }
}

我想知道是否可以执行以下操作:

$MyClass->display();

之前没有在$ MyClass变量中创建MyClass类的实例。

正如我所说,我不确定这是否可行,如果这不是这个问题的正确位置,我将很乐意删除我的帖子。

UPDATE 感谢所有回复的人,我想的越多,在阅读你的评论后,我意识到这不是一个好主意,真的不实用。

由于

4 个答案:

答案 0 :(得分:2)

我认为你应该采取不同的方法,并使用静态方法。

class MyClass
{
    ....
    static function display() { echo 'test'; }
}

MyClass::display();

您只能使用相同的函数执行此操作,无论该类的哪个实例。您的示例是静态方法,因为该函数将始终返回test。如果函数必须使用实例变量或方法,那么就不能使用它。

答案 1 :(得分:1)

我想你想要static class/function。你可以做MyClass::display();

答案 2 :(得分:0)

使其成为一种静态方法。您不需要创建类的实例来调用静态方法。

class foo {
    private static $test;

    public static function test() {
        echo 'test';
    }
}

然后将其调用为:

foo::test();

答案 3 :(得分:0)

你可以做的是制作方法static并直接在课堂上调用方法:

class MyClass
{
    public static function display() { echo 'test'; }
}

MyClass::display();

除此之外:“自动加载”变量是不可能的。