I usually use Java to make IT projects with Maven as Dependency Management (DM). By requirements I have to implement DM in the company that I work in some projects made in PHP. One of the requirements is that they don't want to use any type of framework as symfony, laravel, zend, etc.
I was investigating some DM for PHP and found that the best option is Composer. I'm working on multilayer projects, something like that:
- Core
- Services
- Client
- Site
When I started to make this structure the first issue that I found is that Composer doesn't retrieve recursive dependencies, for that reason, I implemented Satis as Package Repository. I used Satis and not Packagist is because the projects are private projects and this implement SVN as Version Control System, and Packagist used GitHub for retrieve the source code of the projects.
After explain all implementation about that I done, I found some obstacles to follow with development of my multilayer structure.
- For example, if I modify the Core project, to reflect those changes I have to make a commit into SVN, after that, refresh Satis Repository, and finally update the project where I'm using the Core. For that reason I have tried to find some way to point the dependencies to my filesystem to avoid commit every time, and just commit when the feature, bug, fix is done.
My satis.json looks like
{
"name": "My Repository",
"homepage": "https://www.myrepository.com/",
"repositories": [
{ "type": "vcs", "url": "file:///C:/core/branches/core/" },
{ "type": "vcs", "url": "file:///C:/services/branches/services/" }
],
"require-all": true
}
Thanks for your help.