Jam*_*ery 10 php psr-0 composer-php
我目前正在尝试使用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自动加载的正确方法是什么?
Gia*_*ini 11
在你的composer.json中使用:
"autoload": {
"psr-0": {
"": "src/"
}
}
Run Code Online (Sandbox Code Playgroud)
要么
"autoload": {
"psr-0": {
"Twitter\\": "src/"
}
}
Run Code Online (Sandbox Code Playgroud)
然后跑 php composer.phar dump-autoload
使用
"psr-0": {
"Twitter" : "src/"
}
Run Code Online (Sandbox Code Playgroud)
这指示作曲家创建自动加载器,它将查找名称空间src中的所有内容Twitter。因为它是PSR-0,命名空间被视为一个文件夹并添加到声明的路径中,所以你不应该将它包含在路径部分中composer.json
| 归档时间: |
|
| 查看次数: |
20642 次 |
| 最近记录: |