gpt4 book ai didi

php - Composer 创建本地包

转载 作者:可可西里 更新时间:2023-11-01 00:57:50 35 4
gpt4 key购买 nike

在我的项目里面vendor我创建了一个名为 Hello 的新目录并创建了一个新类 HelloWorld.php使用命名空间 Hello\Test .然后在 Hello 的根目录下我创建了一个 composer.json使用默认元数据( authorlicensedescrequired ),并添加了自动加载 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.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 self update 来获取最新的 composer 运行 composer update 它现在应该被添加到你的 vendor/composer/autoload_psr4.php 文件中

关于php - Composer 创建本地包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35916212/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com