对于源文件夹层次中,总有一些共同的特点,比如src
,doc
或test
文件夹,其中有相当容易理解的内容。
但是,我意识到大型项目同时具有lib
和vendor
文件夹,而我一直认为它们是相同的,因为它们的名称暗示包括“ libraries
来自外部的第三方vendors
”。虽然,无论是在同一个项目中看到意味着是一个区别。
我找不到任何信息,也找不到关于Google的信息,也找不到诸如Filesystem Hierarchy Standard之类的资源,尽管这实际上是一种普遍的做法。
这是Symfony的一个更详细的示例:创建项目后,您将lib
在项目的根目录获得一个文件夹。在此文件夹中,找到以下结构:
lib
+--filter
+--form
+--…
+--vendor
+--simpletest
+--symfony
在此,symfony
文件夹包含了所有Symfony的核心。
lib
拥有核心库(绝对必要的库,或者由与框架相同的作者构建的库)并vendor
拥有第三方库,我认为没有其他明智的区别。出于各种原因,这种区别在某种程度上很重要,并且作为一般惯例是有意义的。
lib/vendor
和其他目录vendor
。而且它们不是唯一的。“每个人都可以选择任何目录结构”是的,谢谢。每个人都可以根据自己的意愿进行编码。如果我想称呼src
“ woudzigouga”,我可以。我不是在问我是否可以,而是为什么其他认真而著名的人会做一些看起来很好的做法。