自定义 php 包中的命名空间问题,无法执行“使用 joelwmale/RSSFeedPHP”

乔尔男

我已经创建了自己的 composer 包,但是在尝试在包本身之外(即在我的 Laravel 应用程序中)加载和使用它时遇到了一些问题。

我的作曲家文件看起来像:

{
    "name": "joelwmale/rss-feed-php",
    "type": "library",
    "description": "RSS Feeds for PHP is a very small, lightweight, and easy-to-use library for consuming an RSS feed.",
    "keywords": [
        "rss", 
        "feed", 
        "php"
    ],
    "homepage": "https://github.com/joelwmale/rss-feed-php",
    "support": {
        "issues": "https://github.com/joelwmale/rss-feed-php/issues",
        "source": "https://github.com/joelwmale/rss-feed-php"
    },
    "license": "MIT",
    "authors": [
        {
            "name": "Joel Male",
            "email": "[email protected]",
            "homepage": "https://www.joelmale.com",
            "role": "Author"
        }
    ],
    "minimum-stability": "dev",
    "require": {
        "php": "^7.1",
        "ext-simplexml": "*",
        "nesbot/carbon": "^1.26.3"
    },
    "require-dev": {
        "phpunit/phpunit": "^7.5",
        "phpstan/phpstan": "^0.11.0@dev"
    },
    "autoload": {
        "psr-4": {
            "RSSFeedPHP\\": "src/RSSFeedPHP/"
        }
    },
    "autoload-dev": { 
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "test": [
            "@phpunit",
            "@phpcs"
        ],
        "phpunit": "vendor/bin/phpunit",
        "phpcs": "php-cs-fixer fix -v --diff --dry-run",
        "phpstan": "phpstan analyse --configuration phpstan.neon --level 3 src tests"
    },
    "extra": {
        "laravel": {
            "providers": [
                "RSSFeedPHP\\Laravel\\ServiceProvider"
            ]
        }
    }
}

我的主要课程位于:src/RSSFeedPHP/RSSFeedPHP.php但是,当我尝试将它加载到我的 Laravel 应用程序中时:

use joelwmale\RSSFeedPHP;

我得到:

"Class 'joelwmale\RSSFeedPHP' not found"

即使我在我的 Laravel 应用程序中要求它。我可以在 vendor 中看到 joelwmale 文件夹,也可以看到我的包和它的作曲家文件。

composer.json 或我设置项目的方式一定有问题 - 但我无法弄清楚。

有任何想法吗?

编辑:回购链接:https : //github.com/joelwmale/rss-feed-php

小牛
"autoload": {
    "psr-4": {
        "RSSFeedPHP\\": "src/RSSFeedPHP/"
    }
},

这将在RSSFeedPHP命名空间下注册您的类src/RSSFeedPHP/目录中的任何内容现在都可以像在该命名空间中一样加载。尝试使用

use RSSFeedPHP\RSSFeedPHP;

请注意,RSSFeedPHP如果您的文件名为RSSFeedPHP.php您的类的名称必须是,因此它的命名空间也必须是RSSFeedPHP,即

<?php

namespace RSSFeedPHP;

class RSSFeedPHP {}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在php中自定义数组

来自分类Dev

使用PHP自定义HTML页面

来自分类Dev

使用htaccess php的自定义路由

来自分类Dev

PHP自定义命名空间不起作用

来自分类Dev

如何在PHP数组中定义自定义键?

来自分类Dev

在php标头中使用自定义定义的变量

来自分类Dev

PHP Slim无法使用自定义errorHandler处理错误

来自分类Dev

无法使用SSE和PHP发送自定义事件

来自分类Dev

如何从自定义名称空间访问PHP内部类

来自分类Dev

使用自定义比较器在PHP数组中搜索

来自分类Dev

如何使用PHP在Twilio中传递自定义参数?

来自分类Dev

我的自定义php函数出了点问题

来自分类Dev

自定义PHP SessionHandler类的写入问题

来自分类Dev

无法在Phalcon PHP中加载自定义路由

来自分类Dev

在 WordPress 中调用 PHP 函数中的自定义字段

来自分类Dev

在CakePHP 3中的哪里放置自定义PHP类?

来自分类Dev

清理PHP中自定义异常类的代码

来自分类Dev

自定义category.php中的帖子数量

来自分类Dev

自定义php.ini和.htaccess中的rewriterule

来自分类Dev

PHP中的自定义404错误页面

来自分类Dev

根文件夹中的自定义php文件

来自分类Dev

PHP解析字符串中的自定义字符

来自分类Dev

如何在PHP中动态添加自定义方法

来自分类Dev

清理PHP中自定义异常类的代码

来自分类Dev

从自定义php复制的codeigniter中的验证码

来自分类Dev

在php中打印出当月的自定义名称

来自分类Dev

在PHP中获取自定义属性值

来自分类Dev

如何在Magento中添加自定义PHP页面?

来自分类Dev

根据页面名称在php中创建自定义菜单