Php Laravel软件包未自动加载-Laravel 5.2
我正在构建一个laravel包,但它不会自动加载 这是我的软件包的自动加载部分:Php Laravel软件包未自动加载-Laravel 5.2,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,我正在构建一个laravel包,但它不会自动加载 这是我的软件包的自动加载部分: "autoload": { "classmap": [ "src" ], "psr-4": { "Doitonlinemedia\\Translatableroutes\\": "src/" } } 类的名称空间类似于Doitonlinemedia\translateableroutes 文件夹结构类似于: - vendor - - doitonli
"autoload": {
"classmap": [
"src"
],
"psr-4": {
"Doitonlinemedia\\Translatableroutes\\": "src/"
}
}
类的名称空间类似于Doitonlinemedia\translateableroutes
文件夹结构类似于:
- vendor
- - doitonlinemedia
- - - translatableroutes
- - - - composer.json
- - - - src
- - - - - class1.php
我在app.php中添加了ServiceProvider,如下所示:
Doitonlinemedia\translateableroutes\translateableroutesseserviceprovider::class
但它一直说未找到类“Doitonlinemedia\translateableroutes\translateableroutesserviceprovider”
每次更改时运行composer dump autoload
我做错了什么
编辑
对于开发,我在主composer.json文件中添加了:“Doitonlinemedia\\translateableroutes\\”:“packages/Doitonlinemedia/translateableroutes/src”
。但是当我在一个新项目中需要这个作曲家软件包时,我遇到了上述问题
要试用此软件包,请执行以下说明PHP名称空间区分大小写。 您必须将其放入composer.json中
"psr-4": {
"Doitonlinemedia\\Translatableroutes\\": "src/"
}
而不是这个
"psr-4": {
"doitonlinemedia\\translatableroutes\\": "src/"
}
对我来说,它也可以在没有classmap
选项的情况下工作
再次运行composer dump autoload
,然后重试
编辑
这对我有用
{
"name": "doitonlinemedia/translatableroutes",
"description": "Create translatable resource routes",
"authors": [
{
"name": "Tim van Uum",
"email": "tim@doitonlinemedia.nl"
}
],
"minimum-stability": "stable",
"license": "MIT",
"require": {
"php": ">=5.3.0"
},
"autoload": {
"classmap": [
"src"
],
"psr-4": {
"Doitonlinemedia\\Translatableroutes\\": "src/"
}
}
}
此外,您应该将此软件包添加到您的需求“照明/支持”:“~5.2”
注意:如果供应商软件包中的composer.json
文件未更新,composer似乎不会刷新这些文件的自动加载条目
编辑后,您必须将其推送到存储库中。在项目中重新安装包
如果您仍在积极开发软件包,我建议您按照以下说明设置环境:
在不重新安装或更新远程存储库的情况下,开发软件包要容易得多。PHP名称空间区分大小写。 您必须将其放入composer.json中
"psr-4": {
"Doitonlinemedia\\Translatableroutes\\": "src/"
}
而不是这个
"psr-4": {
"doitonlinemedia\\translatableroutes\\": "src/"
}
对我来说,它也可以在没有classmap
选项的情况下工作
再次运行composer dump autoload
,然后重试
编辑
这对我有用
{
"name": "doitonlinemedia/translatableroutes",
"description": "Create translatable resource routes",
"authors": [
{
"name": "Tim van Uum",
"email": "tim@doitonlinemedia.nl"
}
],
"minimum-stability": "stable",
"license": "MIT",
"require": {
"php": ">=5.3.0"
},
"autoload": {
"classmap": [
"src"
],
"psr-4": {
"Doitonlinemedia\\Translatableroutes\\": "src/"
}
}
}
此外,您应该将此软件包添加到您的需求“照明/支持”:“~5.2”
注意:如果供应商软件包中的composer.json
文件未更新,composer似乎不会刷新这些文件的自动加载条目
编辑后,您必须将其推送到存储库中。在项目中重新安装包
如果您仍在积极开发软件包,我建议您按照以下说明设置环境:
无需始终重新安装或更新远程存储库就可以轻松地开发软件包。多亏了laracast论坛的帮助。我发现我的项目有点腐败,我猜,因为包已经在工作
感谢laracast论坛的帮助。我发现我的项目有点腐败,我猜,因为包已经在工作
我刚刚注意到了这一点。显然它已经起作用了。请看我的答案。我会将这个包添加到需求中(顺便说一句,这是什么意思?),我会记住你的。显然它已经起作用了。请看我的答案。我将把这个包添加到需求中(顺便说一句,它是什么?),我会记住你的。