我正在从事一个Silex项目,该项目需要一些自定义服务提供商及其相关类。
我知道Silex项目的首选文件结构,但无法在任何地方找到有关自定义类应适合此结构的信息。所有作曲家提供的库自然都在供应商文件夹中,自定义的库?
目前(修剪为太空)我的目录结构如下:
.
├── composer.json
├── composer.lock
├── composer.phar
├── src
│ └── Dashboard
│ ├── Controller
│ │ ├── indexController.php
│ │ └── viewController.php
│ └── Model
│ └── Users.php
├── vendor
│ ├── autoload.php
│ ├── composer
├── views
│ ├── index.twig
│ ├── layout.twig
│ ├── logout.twig
│ └── view.twig
└── web
├── css
│ ├── bootstrap.min.css
│ └── style.css
├── index.php
├── js
│ ├── bootstrap.min.js
│ ├── jquery-2.0.3.min.js
│ ├── jquery-ui-1.10.3.min.js
└── twiglib.php
自定义服务提供商在此何处以及包括自定义非作曲家的库?在特定名称空间下的SRC中?还是在供应商文件夹中?
我可以从何处将第三方服务提供商放在我的Silex应用程序中,而不是建议供应商文件夹,但是随后在Silex中创建新的服务提供商,与此相矛盾,并建议不要编辑供应商文件夹并将其放入SRC文件夹中。
是否有官方标准?
供应商文件夹仅包含作曲家依赖性,因此可以肯定的是,手动添加一些特定的类是不良的设计。您可以将您的自定义服务提供商放入单独的GIT存储库中,并通过作曲家在项目中使用它们。或者,如果这种方式太难来了,则可以将它们放入SRC文件夹中,在这种情况下,它可以是单独的文件夹服务,或者,如果您喜欢域驱动的设计,则可以将每个服务提供商放入特定域的文件夹中(即,在您的情况下,它可以像/src/dashboard/dashboardservice.php一样smth。不确定是否存在任何常见的标准。