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.

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

报告相同问题?

悬赏问题

  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面