作曲家创建本地包



vendor目录中的项目中,我创建了一个名为 Hello 的新目录,并使用命名空间 HelloTest 创建了一个新的类HelloWorld.php。然后在Hello根目录中,我创建了一个具有默认元数据(authorlicensedescrequired)的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 HelloTest;在里面index.php我做include 'vendor/autoload.php和根作曲家.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 HelloTest;
class HelloWorld {
    // your methods goes here
}
运行作曲

家自我更新以获取运行composer update的最新作曲家,现在应该将其添加到您的供应商/作曲家/autoload_psr4.php文件中

相关内容

  • 没有找到相关文章

最新更新