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

未使用静态类却触发“不在对象上下文中使用$this”错误求助

解决“Using $this when not in object context”错误

嘿,我来帮你搞定这个问题!虽然你明确说没使用静态类,但这个错误的核心原因其实是调用showcal()方法的方式不对——你大概率是直接通过类名调用了这个非静态方法(比如modJeventsCalHelper::showcal()),而非静态方法必须在类的实例对象上调用,$this才能正确指向当前实例。

解决方案

你需要先实例化类的对象,再调用showcal()方法:

// 先创建类的实例
$calHelper = new modJeventsCalHelper();
// 通过实例调用非静态方法
$calHelper->showcal();

额外提醒:代码里的小bug

我还注意到你初始化变量时误用了比较运算符==,这会导致变量没有被正确赋值:

// 错误写法:用了比较运算符==
$year == null;
$month == null;

// 正确写法:用赋值运算符=
$year = null;
$month = null;

这个小问题也可能导致后续逻辑出现异常,记得一起修正哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:46:31