开发者社区> 问答> 正文

Mallmold的模版类里29行报错??报错


$str = preg_replace_callback("/\{include\s+(.+?)\}/is", function($r){return $this->build($r[1]);}, $str);


上面是第29行的代码,我找了preg_replace_callback的函数,可惜没看懂怎么用!报出的错是:

Fatal error: Using $this when not in object context in /home/yzmwicpn/domains/yzm.asia/public_html/mallmold/framework/template.php on line 29

各位能否给小子我解释下呢??

展开
收起
爱吃鱼的程序员 2020-06-14 17:49:42 596 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
    在PHP5中,static声明的静态方法里不可以使用$this需要使用self来引用当前类中的方法或是变量。还有可能是你没有实例化类..

    根据服务器的版本改下这个地方吧,早期版本改成:

    $str=preg_replace("/\{include\s+(.+?)\}/ies","\$this->build('\\1');",$str);

    2020-06-14 17:49:58
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载