Php 编写器创建本地包
在Php 编写器创建本地包,php,json,composer-php,Php,Json,Composer Php,在vendor目录内的项目中,我创建了一个名为Hello的新目录,并创建了一个新类HelloWorld.php,其名称空间为Hello\Test。然后在Hello的根目录中,我创建了一个带有默认元数据的composer.json(author,license,desc,required),并添加了自动加载PSR-4Hello\\Test\\ 那么,我需要做什么,然后自动加载我的包。我查看了一些Symfony组件,它们的composer.json包和配置是相同的 可以像这样从供应商自动加载我的本地
vendor
目录内的项目中,我创建了一个名为Hello
的新目录,并创建了一个新类HelloWorld.php
,其名称空间为Hello\Test
。然后在Hello
的根目录中,我创建了一个带有默认元数据的composer.json
(author
,license
,desc
,required
),并添加了自动加载PSR-4Hello\\Test\\
那么,我需要做什么,然后自动加载我的包。我查看了一些Symfony组件,它们的composer.json
包和配置是相同的
可以像这样从供应商
自动加载我的本地软件包吗
目录结构:
|-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\\": ""
}
}
}
{
"autoload": {
"psr-4": {
"": "src/",
"Hello\\Test\\": "./vendor/Hello"
}
},
"require": {
"Hello/Test": "*"
}
}
我的HelloWorld.php类具有名称空间Hello\Test代码>
在index.php内部
i doinclude'vendor/autoload.php
和root composer.json
{
"name": "Zend/Hello",
"description": "My test package",
"license": "MIT",
"authors": [
{
"name": "Zend Zend",
"email": "test@example.com"
}
],
"autoload": {
"psr-4": {
"Hello\\Test\\": ""
}
}
}
{
"autoload": {
"psr-4": {
"": "src/",
"Hello\\Test\\": "./vendor/Hello"
}
},
"require": {
"Hello/Test": "*"
}
}
作曲家更新
好的!很抱歉迟了答复。
您只需要一个composer.json就可以完成这项工作。主项目目录中的一个
尝试使用以下方法:
{
"name": "Zend/Hello",
"description": "My test package",
"license": "MIT",
"authors": [
{
"name": "Zend Zend",
"email": "test@example.com"
}
],
"autoload": {
"psr-4": {
"Hello\\Test\\": "vendor/Hello"
}
}
}
您的HelloWorld.php文件应该如下所示:
<?php
namespace Hello\Test;
class HelloWorld {
// your methods goes here
}
您是否尝试过运行composer update
?是的,但什么都没有发生。当我尝试在index.php
中创建实例时,我发现没有找到错误类。然后确定。能否将psr-4
声明粘贴到composer.json中?还有你的Hello目录结构?现在检查新的更新