doukefu1361 2016-09-20 15:12
浏览 46
已采纳

PHP命名空间错误。 在作曲家项目中找不到的类

Can someone please point me in the right direction. I have downloaded a GIT project Namshi/JOSE which is a JWT signing and verification library. I have a directory structure shown below.

directory structure

All my unit tests (inside the folder tests work perfectly, so the composer.json and bootstrap.php files are okay. But when I try and add my own test, in the folder myTests->simpleTest.php as below what ever I try I can't get the namespace to resolve the class SimpleJWS. The namespace for the library is Namshi/JOSE. My simple test calling code is:

    <?php

      use Namshi\JOSE\SimpleJWS;
      //require_once ("../src/Namshi/JOSE/SimpleJWS.php");

      $jws  = new SimpleJWS(array(
       'alg' => 'RS256'
       ));

The error text is: Fatal error: Class 'Namshi\JOSE\SimpleJWS' not found. The psr-4 statements are as follows:

    "autoload": {
    "psr-4": {
    "Namshi\\JOSE\\":  "src/Namshi/JOSE/"

    }
    },
    "autoload-dev": {
    "psr-4": {
        "Namshi\\JOSE\\Test\\":  "tests/Namshi/JOSE/Test/"

    }

Any help would be greatly appreciated.

  • 写回答

1条回答 默认 最新

  • douyi6960 2016-09-20 15:58
    关注

    Your thinking about the autoloading is correct, but as you're stating, your test file lives under "myTests"; your autoload-dev simply points to the wrong directory "tests/Namshi/JOSE/Test/" while your file lies in "myTests".

    "autoload-dev": {
        "psr-4": {
             "Namshi\\JOSE\\Test\\": "myTests"
        }
    }
    

    Please also make sure, your FQCN (fully-qualified class name) of your test class is Namshi\JOSE\Test\simpleTest.

    <?php
    
    namespace Namshi\JOSE\Test;
    
    class simpleTest {}
    

    According to the comments below you were missing the include of the autoloading in your testsuite.

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

报告相同问题?

悬赏问题

  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 这种微信登录授权 谁可以做啊