在过去的5年左右的时间里,我逐渐习惯于构建这样的Web项目:
/var/www/project/
/project.com/
/index.php
/images/
/project.inc/
/vendor/
/classes/
/pages/
/models/
您明白了。这是我自己的类似mvc的系统。 project.com是唯一可通过网络访问的目录。其他大多数事情都在幕后,我喜欢这样。但是-最近我开始修改作曲家。我找不到在project.inc下容纳作曲家的任何可行方法。浏览作曲家的设置并阅读文档...我是否正确假设作曲家绝对必须在项目Webroot中?没办法吗?
答案 0 :(得分:2)
要清楚,您指的是composer.json,它只是一个构建配置文件。我会争辩说它既不属于您的目录,因为它既不是Web文件(project.com),也不是在执行时包含的php代码(project.inc)。
尽管如此,放置在哪里都没有关系。至于设置供应商目录的位置,您可以在composer.json的config部分中进行设置
{
"config": {
"vendor-dir": "project.inc/vendor"
}
}
我仍然建议您看一下symfony和laravel以及它们使用的结构和约定。它们可以解决您要解决的相同问题,甚至可以解决一些您未明确解决的问题。