[英]Composer won't autoload
我有一個新項目,從一開始我就想與Composer站在一起,[我是一個很晚的采用者],但是自動加載無法正常工作 ,我不知道為什么,這使我發瘋。
字面意思就是現在的項目:[不包括/ vendor /]
/
lib/
Client.php
composer.json
test.php
composer.json
{
"autoload": {
"psr-0": {
"Openstack\\": "lib/"
}
}
}
LIB / Client.php
<?php
namespace Openstack;
class Client {
public function __construct() {
echo "hello world";
}
}
test.php的
<?php
require('vendor/autoload.php');
$foo = new Openstack\Client();
嘗試運行test.php給我:
PHP Fatal error: Class 'Openstack\Client' not found
即使:
# grep -r Openstack vendor/composer/
vendor/composer/autoload_namespaces.php: 'Openstack' => array($baseDir . '/lib'),
這東西想要我什么?
使用psr-0時,需要為每個名稱空間級別都有一個目錄。 因此,您的目錄結構應為:
/
lib/
Openstack/
Client.php
composer.json
test.php
另外,您可以在composer.json
使用psr-4。
{
"autoload": {
"psr-4": {
"Openstack\\": "lib/"
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.