I am working on a Silex project which requires some custom service providers and their related classes to be written.
I am aware of the preferred file structure of silex projects but cannot anywhere find information on where custom classes should fit into this structure. All composer supplied libraries are naturally in the vendor folder, where do custom ones go?
At the moment (trimmed down for space) my directory structure follows:
.
├── 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
Where in this do custom service providers go and custom non composer included libraries? In src under a specific namespace? Or in the vendor folder?
I can see from Where to put 3rd party service providers in my Silex app than the vendor folder is suggested, but then Creating new service providers in Silex, contradicts this and advises against editing the vendor folder and putting it in the src folder.
Is there an official standard?