【发布时间】:2016-06-25 06:44:49
【问题描述】:
在vendor 目录内的项目中,我创建了一个名为Hello 的新目录,并使用命名空间Hello\Test 创建了一个新类HelloWorld.php。然后在Hello 的根目录中,我使用默认元数据(author、license、desc、required)创建了一个composer.json,并添加了自动加载 PSR-4 Hello\\Test\\。
那么接下来我需要做什么来自动加载我的包。我查看了一些 Symfony 组件,它们的 composer.json 包和配置是相同的。
是否可以像这样从vendor 自动加载我的本地包?
目录结构:
|-my_project
|-composer.json
|---vendor
|-------composer
|-------autoload.php
|-------Hello
|-----------composer.json
|-----------HelloWorld.php
./vendor/Hello/composer.json
{
"name": "Zend/Hello",
"description": "My test package",
"license": "MIT",
"authors": [
{
"name": "Zend Zend",
"email": "test@example.com"
}
],
"autoload": {
"psr-4": {
"Hello\\Test\\": ""
}
}
}
我的 HelloWorld.php 类有 namespace Hello\Test;
在index.php 我做include 'vendor/autoload.php
和根 composer.json
{
"autoload": {
"psr-4": {
"": "src/",
"Hello\\Test\\": "./vendor/Hello"
}
},
"require": {
"Hello/Test": "*"
}
}
composer update
【问题讨论】:
-
你试过运行
composer update吗? -
是的,但什么也没发生。当我尝试在
index.php中创建实例时,我在includeautload 中找到错误类。 -
好的。您能否将
psr-4声明粘贴到您的 composer.json 中?和你的 Hello 目录结构? -
立即查看新更新
标签: php json composer-php