作曲家的项目结构

时间:2018-09-11 08:05:05

标签: composer-php

我正在尝试使用composer-file创建一个项目。
原因主要是我永远都不想上传到git的依赖项。
我想要的结构是这样的:

  

project-root-folder
  -项目子文件夹
  -供应商(具有require d个依赖项)
  -index.php
  -composer.json
  -README.md

但是使用composer安装的结构是这样的:

  

project-root-folder
  -供应商
  -供应商/撰写人
  -供应商/聪明(依赖性)
  -供应商/我的项目
  -composer.json

我知道许多不同项目都有特殊的安装程序,我只是不了解需要安装程序才能获得所需的结构,而且如果没有特殊的安装程序也不需要安装程序。

这是我尝试过的一个作曲家文件的内容:

{   
    "name": "wdb/tutorial-oop",  
    "require": {  
        "smarty/smarty": "~3.1"  
    }
}  

当我在本地文件中尝试此composer-json内容时,仅使用composer install时,我得到的结构相同:

{  
    "require": {  
        "wdb/tutorial-oop": "dev-master"  
    }
}  

所以我的问题是,像我在此问题顶部描述的那样,创建项目结构的作曲者文件的外观如何。 基本问题是我不想将我的项目作为依赖项安装在供应商目录中,而是在项目文件夹的根目录中,并且我不想使用composer自动加载器。

编辑:
根据要求,在项目根目录下提供我的完整作曲家文件:

{
    "name": "wdb/tutorial-oop",
    "type": "project",
    "description": "Your package description goes here",
    "keywords": ["oop","mvc","tutorial"],
    "homepage": "https://barlians.com",
    "license": "GPL-3.0-or-later",
    "authors": [
        {
            "name": "David Bruchmann",
            "email": "david.bruchmann@gmail.com",
            "homepage": "https://barlians.com",
            "role": "Author, Developer"
        }
    ],
    "support": {
        "email": "david.bruchmann@gmail.com"
    },
    "require": {
        "smarty/smarty": "~3.1"
    }
}

1 个答案:

答案 0 :(得分:1)

您正在以错误的方式安装项目。 composer require命令用于安装依赖项,因此它们将进入vendor目录。

要安装项目,您应该使用create-project命令:

composer create-project wdb/tutorial-oop