为了账号安全,请及时绑定邮箱和手机立即绑定

与XF \ Pub \ Controller \ AbstractControlle

与XF \ Pub \ Controller \ AbstractControlle

PHP
白衣非少年 2021-05-07 17:31:00
An exception occurred: [TypeError] Argument 1 passed to Pages\Providers::getData() must be an instance of XF\Pub\Controller\AbstractController, string given in src/addons/Pages/Providers.php on line 23Pages\Providers::getData()call_user_func() in src/XF/Template/Templater.php at line 1382XF\Template\Templater->callback() in internal_data/code_cache/templates/l1/s2/public/_page_node.100.php at line 13XF\Template\Templater->{closure}() in src/XF/Template/Templater.php at line 1294XF\Template\Templater->renderTemplate() in src/XF/Template/Templater.php at line 1367XF\Template\Templater->includeTemplate() in internal_data/code_cache/templates/l1/s2/public/page_view.php at line 82XF\Template\Templater->{closure}() in src/XF/Template/Templater.php at line 1294XF\Template\Templater->renderTemplate() in src/XF/Template/Template.php at line 24XF\Template\Template->render() in src/XF/Mvc/Renderer/Html.php at line 48XF\Mvc\Renderer\Html->renderView() in src/XF/Mvc/Dispatcher.php at line 418XF\Mvc\Dispatcher->renderView() in src/XF/Mvc/Dispatcher.php at line 400XF\Mvc\Dispatcher->renderReply() in src/XF/Mvc/Dispatcher.php at line 360XF\Mvc\Dispatcher->render() in src/XF/Mvc/Dispatcher.php at line 53XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2177XF\App->run() in src/XF.php at line 390XF::runApp() in index.php at line 20我不知道自己在做什么错...这是我目前的攻击计划,我的代码片段非常短(下面包含一个函数),我希望使用PHP在XenForo页面中调用该代码打回来。回调的条件是使用控制器和xf所述的回复参考:\XF\Pub\Controller\AbstractController $controller控制器实例。由此您可以检查请求,响应等。\XF\Mvc\Reply\AbstractReply &$reply 来自页面控制器的标准回复。包含在Page节点中的回调是Pages\Providers::getData()。但是这样运行给我TypeError。根据我的理解,我$controller对参数1不是正确的类型大吼大叫,但是又如何呢?我的代码甚至不需要它。关于如何解决这个问题的任何想法将不胜感激!谢谢你。
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

我不知道是什么xenforo。但是,您的错误消息清楚地说:

发生异常:[TypeError]传递给Pages \ Providers :: getData()的参数1必须是XF \ Pub \ Controller \ AbstractController的实例,该字符串在第23行的src / addons / Pages / Providers.php中给出

在您的代码行23中,我认为是这样的:

$reply->setParam('providers', $viewParams);

因此,只需传递第一个参数(不是字符串),而是传递实例,即可:

$reply->setParam($controller, $viewParams);


查看完整回答
反对 回复 2021-05-14
  • 1 回答
  • 0 关注
  • 181 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信