You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP新手求助:为何无法调用类中的sayHi函数?

解决PHP类方法调用无输出的问题

嘿,别慌!作为PHP新手碰到这种情况真的超常见~我来帮你捋清楚问题出在哪。

你的类定义本身是没问题的,但你漏掉了最关键的一步:实例化类对象。PHP里的普通非静态方法(就像你写的sayHi),必须通过类的实例才能调用,直接凭空调用是不会生效的。

正确的调用方式(实例化对象)

修改你的代码,先创建类的实例再调用方法:

class test {
    public function sayHi($name, $age) {
        echo $name . $age;
    }
}

// 1. 实例化test类,创建一个对象
$myTest = new test();
// 2. 通过对象调用sayHi方法,传入参数
$myTest->sayHi("Robert", 30);

另一种可选方式:静态方法

如果你不想每次都实例化对象,也可以把方法改成静态的,这样直接用类名就能调用:

class test {
    // 给方法加上static关键字
    public static function sayHi($name, $age) {
        echo $name . $age;
    }
}

// 静态方法用 类名::方法名 的方式调用
test::sayHi("Robert", 30);

为什么之前没输出?

因为你只定义了类的“蓝图”,但没有根据这个蓝图创建出具体的“对象”,自然没法调用对象里的方法。就像你画了一辆汽车的设计图,但没真的造出汽车,当然开不了啦😉

内容的提问来源于stack exchange,提问作者Robertme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:57:31