dqkkrt8860 2015-11-15 15:58
浏览 31
已采纳

命名空间问题。 使用来自错误对象的方法

I'm having an issue with my code below. The error I get is:

Catchable fatal error: Argument 1 passed to Closure::QuizApp\Routes{closure}() must be an instance of QuizApp\Routes\ServerRequestInterface, instance of Slim\Http\Request given in /var/www/QuizApp/Routes/AuthRoutes.php on line 8

Is this because I'm declaring a namespace at the top? I can solve it by using an alias, but I'm curious as to why it's happening in the first place.

<?php

namespace QuizApp\Routes;

use \Psr\Http\Message\ServiceRequestInterface;
use \Psr\Http\Message\ResponseInterface;

$app->get('/login', function(ServerRequestInterface $req, ResponseInterface $resp) use ($config) {

    $callback = $config['site']['domain'] . $this->router->pathFor('fb_callback');
    return $this->FBAuthServices->redirect_to_auth_page($config['facebook']['permission'],
                                                        $callback);

});

Edit After looking at my own code, I realize I don't even need the namespace. The class that was in this file, has now been moved out. Would still love an answer though, I'm curious.

  • 写回答

1条回答 默认 最新

  • dsa45664 2015-11-15 16:03
    关注

    Compare these

    must be an instance of QuizApp\Routes\ServerRequestInterface

    use \Psr\Http\Message\ServiceRequestInterface;

    It's a typo, it should be named ServerRequestInterface in the use.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据