PHP Yii2 扩展开发

PHP Yii2 extension development

提问人:Tinberking 提问时间:11/7/2023 更新时间:11/9/2023 访问量:26

问:

您能否就以下问题提出建议:如何正确设置PHP Yii2扩展模块的开发和调试环境?

如果在“vendor”目录中工作,它通常包含在 .gitignore 文件中。但是,将扩展文件移动到项目目录时,命名空间无法正确加载并引发错误。

Failed to instantiate component or class "comp\blog\Module"

подскажите пожалуйста вопрос как правильно настроить рабочую среду для разработки и отладки модуля-расширения для PHP Yii2 Если работать в папке vendor она же в .gitignore А если переносиш файлы расширения в папку проекта то namespace не загружает пишет

Failed to instantiate component or class "comp\blog\Module"

如果在“vendor”目录中工作,它通常包含在 .gitignore 文件中。但是,将扩展文件移动到项目目录时,命名空间无法正确加载并引发错误。

php yii2

评论

0赞 ADyson 11/7/2023
Stack Overflow 上的所有内容都需要英语
0赞 ADyson 11/7/2023
请提供该问题的最小可重现示例,以便人们更容易帮助您。另请参阅如何提问。由于您是新来的,也请参加这次旅行。您可以编辑您的帖子。谢谢。

答:

0赞 schmauch 11/9/2023 #1

这就是我的做法:我在目录中创建一个目录。在那里,我放了一个包含以下内容的文件:dev/myExtension@appcomposer.json

{
    "name": "schmauch/my-extension",
    "type": "yii2-extension",
    "autoload": {
        "psr-4": {
            "schmauch\\myExtension\\": ""
        }
    }
}

然后,我将我的扩展名添加到应用程序文件中的部件和部件中的相应路径:requirerepsotoriescomposer.json

...
    "require": {
        ...
        "schmauch/my-extension": ""
    },
    ....
    "repositories": [
        {
            "type": "path",
            "url": "/path/to/your/app/dev/myExtension"
        }
        ...
    ]

现在,我可以使用 .事实上,composer 将目录链接到并添加了 autoloader 命名空间......composer updatedev/myExtension@app/vendor/schmauch/myExtension