我有一个工作的作曲家包,只有一个文件和一个类。所以,现在我试图改变这个包,使它更像实心。
我有这样的档案结构..。
PackageName.php
addresses.php
names.php
interfaces
names.php
addresses.php当我使用PHPSpec时,主PackageName.php中的方法正在被验证,但是在其中一个方法中,我有一个类似于
namespace blah\PackageName;
use blah\PackageName\ProcessNames;
class PackageName
{
public function formatData($user)
{
$place_holders = array();
$place_holders = ProcessNames::process_name($user, $place_holders);
$place_holders = ProcessAddresses::process_address($user, $place_holders);
return json_encode($place_holders);
}
}这就产生了错误..。
48!应该执行地址异常err:Error("Class 'blah\PackageName\ProcessNames‘not“)已抛出。
composer.json就像..。
{
"name": "blah\PackageName",
"description": "Format data.",
"require": {
"nesbot/carbon": "^1.34",
"php": ">7.0.0"
},
"require-dev": {
"phpspec/phpspec": "^4.3"
},
"authors": [
{
"name": "me",
"email": "me@emailaddress.com"
}
],
"autoload": {
"psr-4": {
"blah\\PackageName\\": "src/",
"spec\\blah\\PackageName\\": "spec/"
},
"files": {
"src/interfaces/names.php",
"src/names.php"
}
}
}我看不出如何在包中包含文件。我不确定我是否需要composer.json上的“文件”部分,但我正在努力弄清楚如何做到这一点。任何信息都非常感谢。
发布于 2018-10-11 15:03:02
这和其他人今天的问题是一样的!一个简单的错误。
取代:
namespace blah\PackageName;通过以下方式:
namespace blah;完整的类名包括名称空间和类名。所以实际上,您的类实际上是blah\PackageName\Packagename的一个实例。
可能会将Packagename从composer.json中取出,这取决于您的需要,如果您更改了它,请记住运行composer dumpautoload
https://stackoverflow.com/questions/52762935
复制相似问题