{"id":20694705,"url":"https://github.com/ebarbeito/php","last_synced_at":"2025-12-07T12:02:10.145Z","repository":{"id":56974443,"uuid":"253212968","full_name":"ebarbeito/php","owner":"ebarbeito","description":"[wip] Skeleton to bootstrap plain PHP projects with docker","archived":false,"fork":false,"pushed_at":"2020-05-30T22:42:42.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-17T18:01:39.019Z","etag":null,"topics":["docker","docker-compose","php","php-skeleton","skeleton"],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ebarbeito.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-05T10:54:09.000Z","updated_at":"2020-05-30T22:42:45.000Z","dependencies_parsed_at":"2022-08-21T11:50:14.390Z","dependency_job_id":null,"html_url":"https://github.com/ebarbeito/php","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebarbeito%2Fphp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebarbeito%2Fphp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebarbeito%2Fphp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebarbeito%2Fphp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ebarbeito","download_url":"https://codeload.github.com/ebarbeito/php/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242958441,"owners_count":20212805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","php","php-skeleton","skeleton"],"created_at":"2024-11-17T00:06:05.858Z","updated_at":"2025-12-07T12:02:10.063Z","avatar_url":"https://github.com/ebarbeito.png","language":"Makefile","readme":"# ebarbeito/php\n\n\u003e Skeleton to bootstrap plain PHP projects with docker\n\nUse this skeleton to create a fresh PHP project without writing the common boilerplate that is often needed in order to start from scratch.\n\nThe project is intended to use with the following development environment:\n\n* UNIX-like as operating system\n* Docker and Docker compose\n* GNU Make\n\nThese are not required, but highly recommended. It will allow you not to have to install locally anything, such as PHP by itself, nor Composer, nor PHPUnit, nor a web server, etc. The idea is executing all of this as a _dockerized environment_.\n\n## Start a new project\n\nWith `docker` installed, create your new project:\n\n```\ndocker run --rm -it -v $(pwd):/app \\\n  composer create-project ebarbeito/php project-name\n```\n\nOnce created, you can start by customizing the `composer.json` file, taking a look into the `bin/` scripts, or the prepared tasks inside the `Makefile`\n\n```\n$ cd project-name\n$ tree -f -I \"README.md\" .\n.\n├── ./Makefile\n├── ./bin\n│   ├── ./bin/composer\n│   ├── ./bin/php\n│   ├── ./bin/phpunit\n│   └── ./bin/run\n├── ./composer.json\n├── ./config\n│   ├── ./config/composer\n│   │   └── ./config/composer/Dockerfile\n│   ├── ./config/fpm\n│   │   ├── ./config/fpm/Dockerfile\n│   │   └── ./config/fpm/conf.d\n│   │       └── ./config/fpm/conf.d/ext-xdebug.ini\n│   └── ./config/nginx\n│       └── ./config/nginx/site.conf\n├── ./docker-compose.yml\n├── ./phpunit.xml.dist\n├── ./public\n│   └── ./public/index.php\n├── ./src\n├── ./tests\n│   ├── ./tests/Functional\n│   │   └── ./tests/Functional/DummyFunctionalSuiteTest.php\n│   ├── ./tests/Integration\n│   │   └── ./tests/Integration/DummyIntegrationSuiteTest.php\n│   └── ./tests/Unit\n│       └── ./tests/Unit/DummyUnitSuiteTest.php\n└── ./var\n```\n\n## bin/ scripts\n\nDue to not having installed any development tool (only Docker), the aim of this scripts is simulate the real commands.\n\n**The ./bin/run script**\n\n`./bin/run` is just the wrapper around the command `docker-compose run`. So, each time you execute it, you are running `docker-compose run` indeed.\n\n```\n./bin/run \u003ccommand\u003e [arguments]\n```\n\nThe \"command\" is a service defined in `docker-compose.yml`\n\n* `./bin/run composer [arguments]`: To use composer\n* `./bin/run phpunit [arguments]`: To use phpunit\n* `./bin/run php [arguments]`: To use php\n\n**The other scripts**\n\nThe rest of the commands relies in `./bin/run` to do their job. They make the same, but with less verbosity.\n\n* `./bin/composer [arguments]`: To use composer\n* `./bin/phpunit [arguments]`: To use phpunit\n* `./bin/php [arguments]`: To use php\n\nSo, instead to use a global `php` command (or a `composer` one), this scripts are a replacement to be used in the same way as usual.\n\n## Makefile tasks\n\n...\n\n## Docker compose services\n\n...\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febarbeito%2Fphp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Febarbeito%2Fphp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febarbeito%2Fphp/lists"}