Composer,我的包中的类没有在使用它的应用程序中自动加载

     2023-03-14     92

关键词:

【中文标题】Composer,我的包中的类没有在使用它的应用程序中自动加载【英文标题】:Composer, class within my package is not being autoloaded in application using it 【发布时间】:2015-10-26 23:35:12 【问题描述】:

我正在创建一个模块,该模块将包含在多个项目中。但是,在使用模块的项目中,自动加载器似乎没有在模块中包含该类。

模块结构(等)如下:

git仓库中的目录结构:

/
/composer.json
/src/
/src/EbayAPI.php

composer.json:


    "name": "jodes/ebay-api",
    "autoload": 
        "psr-4" : 
            "Jodes\\EbayAPI\\" : "src"
        
    

EbayAPI.php:

<?php
namespace Jodes;
class EbayAPI 

我尝试将其包含在其中的应用程序具有以下内容:

composer.json


    "require": 
        "behat/behat": "@stable",
        ....other requirements in here...
        "jodes/ebay-api": "dev-master"
        ,
    "config": 
        "bin-dir": "bin/"
    ,
    "repositories": [
        
            "type": "vcs",
            "url": "https://Jody@bitbucket.org/Jody/ebay_api.git"
        
    ]
    

想要通过自动加载器使用我的包的php文件是:

<?php

use Jodes\EbayAPI;
require_once 'vendor/autoload.php';

class HelloWorld 
    public function __construct()
        $ebay = new EbayAPI();
    

我得到的错误是

致命错误:找不到类“Jodes\EbayAPI”

我做错了什么? 谢谢

【问题讨论】:

【参考方案1】:

感谢@Danack 聊天,解决方案很简单:

"Jodes\\EbayAPI\\" : "src" 更改为"Jodes\\" : "src"

(一旦他发布他的答案,我会删除这个答案)

【讨论】:

Oracle 包中的自动增量

...age【发布时间】:2011-09-0706:05:19【问题描述】:我试图在我的包上使用自动增量而不使用触发器。有人可以解释我如何在我的包中使用它。我这样做并没有工作它抱怨的abt变量没有被声明或类型没有被分配。.我看到了其他自动... 查看详情

java中的包(package)详情解释

...录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。  3、包也限定了访问权限... 查看详情

UML:包中的包

...411:33:34【问题描述】:我正在制作UML包图,并且想知道:我的很多包都有一个共同的相关主题,所以我将它们放入更通用的包中。在绘制UML图时,我是否真的在一个更大的包中绘制了这些包?或者,我是否使用聚合/组合箭头来... 查看详情

javaeclipse中创建项目以后缺省包和命名的包有啥区别?

...形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。3包也限定了访问权限,拥有包访问权... 查看详情

Symfony 3.4 在我的包中使用视图

】Symfony3.4在我的包中使用视图【英文标题】:Symfony3.4Useviewinsidemybundle【发布时间】:2018-05-2916:49:51【问题描述】:我在使用Symfony3.4配置新存储库时遇到了一些麻烦。我已经使用symfony命令使用最后一个LTS(3.4)创建他,并且我... 查看详情

java示例代码_如何将另一个包的类导入到我的包中

java示例代码_如何将另一个包的类导入到我的包中 查看详情

怎么在java项目中调自定义的jar包中的类?

...,在类中使用到自定义的jar包中的内容时,需要导入相关的包信息。一般在开发时,我们自定义的jar包大多数为工具包,即直接使用对象.方法的形式来使用jar包中的内容。 查看详情

composer的结构详解

参考技术A根目录包就是在你的项目的根目录由composer.json定义的包。主要就是由composer.json来定义你的项目的依赖。某些字段只能在根目录包的中使用,比如config字段,只有根目录包能定义自己的配置。依赖包中的config字段是被忽... 查看详情

我自己的包中的npm包babel错误

...置的“插件”部分以启用转换。注意:我已经用JSX编写了我的组件package.json"name":"my- 查看详情

怎么在java项目中调自定义的jar包中的类?

...后用jar命令将之前生成的5个.class文件打成了一个叫test.jar的包。这个5个class都很简单,分别是输出一段字符串。我现在在Eclipse中有个简单的java项目,这个aaa里几乎没有代码,可以忽略。请问,我现在想在这个aaa.java中调用,test.... 查看详情

android 在已删除的包中没有收到 Intent ACTION_PACKAGE_REMOVED

...movedpackage【发布时间】:2011-04-0813:40:54【问题描述】:当我的android应用被删除时,我还想删除该应用在SD卡上创建的文件,因为这些文件会消耗很多兆字节并且只对我的应用有用。似乎接收PAC 查看详情

如何在 Laravel 外部的包中使用 Laravel 外观(缓存、日志、存储)

...间】:2020-01-2220:12:22【问题描述】:请指出我对Laravel、Composer、PHPUnit等所做的任何幼稚或不正确的假设。我在Laravel项目中有一个名为SpeechToTextHelper 查看详情

我的模型文件应该保留在不同的包中还是 Django 中的相同模型文件中?

】我的模型文件应该保留在不同的包中还是Django中的相同模型文件中?【英文标题】:ShouldmymodelfilesremainindifferentpackagesorthesamemodelfileinDjango?【发布时间】:2014-09-0608:48:10【问题描述】:注意:我阅读了ChoosingbetweenStackOverflowandSoft... 查看详情

不推荐使用 composer require-dev 安装 phpunit?

】不推荐使用composerrequire-dev安装phpunit?【英文标题】:Installphpunitwithcomposerrequire-devnotrecommended?【发布时间】:2016-04-1519:25:32【问题描述】:在我的composer包中,如果我的包中有phpunit测试,我会将phpunit添加到我的composer.json的requ... 查看详情

composer将远程的包更改为本地开发模式(代码片段)

1、在composer包中去掉调用一般情况下,去掉包,包在进行更新的时候会自己删除; 2、在vendor/composer/installed.json去掉这个已经安装的引用这样再次安装的时候这个包就会保留在本地,不会被删除 3、在composer.json中加入对这... 查看详情

springboot项目中调用jar包中的类时报错—没有注入类

...如果我们想用@Autowired注入会报错在项目中注入引用的jar包中的UserService类时报错@AutowiredpublicUserServiceuserService;Causedby:org.springframe 查看详情

springboot项目中调用jar包中的类时报错—没有注入类

...如果我们想用@Autowired注入会报错在项目中注入引用的jar包中的UserService类时报错@AutowiredpublicUserServiceuserService;Causedby:org.springframe 查看详情

java包(package)

...形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。3、包也限定了访问权限,拥有包访问... 查看详情