github库的正确结构

时间:2014-12-12 11:11:04

标签: php git github composer-php

我写了一个cURL-class,我想在github上分享,也可以通过作曲家提供。我成功地将我的lib放在了github https://github.com/tzfrs/SimpleCurl上,但是我仍然无法理解正确的文件夹结构。

我现在有这样的话:

  • git存储库名为"SimpleCurl"
  • 存储库包含名为src/
  • 的文件夹
  • src/文件夹的文件SimpleCurl.phpSimpleCurl
  • SimpleCurl类位于名称空间tzfrs/Util/
  • composer.json文件包含以下信息

"autoload": { "psr-4": { "tzfrs\\Util\\": "src/" } }

现在,我的理解问题是:SimpleCurl.php - 文件是否可以直接位于文件夹src/中?或者它必须位于此git存储库的文件夹src/tzfrs/Util中?

换句话说,我是否将供应商名称和主命名空间作为文件夹结构放入我的项目中?或者我只将子名称空间名放入文件中?

举个例子:假设我的班级SimpleCurl不在名称空间tzfrs/Util/中,而在名称空间tzfrs/Util/Curl

我是否需要将名称空间Curl作为文件夹添加到src文件夹中,因为它是一个子名称空间名称?

1 个答案:

答案 0 :(得分:1)

如果您的库遵循PSR-4,则可以使用该自动加载配置在“src”内部使用SimpleCurl.php。没有必要将命名空间复制为文件夹结构,这是您可以在许多PSR-0库中看到的,但PSR-0已被弃用。

如果您希望在命名空间SimpleCurl中拥有类tzfrs\Util\Curl,则只需创建一个名为Curl的文件夹,该文件夹应包含您的SimpleCurl.phpsrc中的所有内容都会附加到您定义为tzfrs\Util的前缀。

看看Battle of the Autoloaders: PSR-0 vs. PSR-4