我目前正在尝试使用PSR-0自动加载Composer,但是我收到以下错误:
Fatal error: Class 'Twitter\Twitter' not found
Run Code Online (Sandbox Code Playgroud)
我的目录结构如下所示
- Project
- src
- Twitter
Twitter.php
- vendor
- Test
index.php
Run Code Online (Sandbox Code Playgroud)
我的index.php文件如下所示:
<?php
use Twitter;
$twitter = new Twitter();
Run Code Online (Sandbox Code Playgroud)
我的Twitter.php文件看起来像这样
<?php
namespace Twitter;
class Twitter
{
public function __construct()
{
// Code Here
}
}
Run Code Online (Sandbox Code Playgroud)
最后我的composer.json看起来像这样:
{
"require": {
"phpunit/phpunit": "3.8.*@dev",
"guzzle/guzzle": "3.7.*@dev"
},
"minimum-stability": "dev",
"autoload": {
"psr-0": {
"Twitter" : "src/Twitter"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有点困惑.我来自C#背景,这种工作方式让我感到困惑.使用PSR-0自动加载的正确方法是什么?
我在一个项目中有一个包,它使用composer和composer.json条目自动加载如下:
"autoload": {
"psr-4": {
"CompanyName\\PackageName\\": "packages/package-folder/src/"
}
}
Run Code Online (Sandbox Code Playgroud)
现在我将其复制到另一个不使用composer的项目中.我怎么能在那里自动加载这个相同的包?