{"id":19956528,"url":"https://github.com/tbreuss/php-package-skeleton","last_synced_at":"2025-05-03T20:32:14.189Z","repository":{"id":57065904,"uuid":"112064343","full_name":"tbreuss/php-package-skeleton","owner":"tbreuss","description":"Conrete PHP Package Skeleton using Best-Practices","archived":false,"fork":false,"pushed_at":"2022-07-31T09:33:01.000Z","size":469,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-07T21:11:27.989Z","etag":null,"topics":["best-practices","composer","php","phpcs","phpunit","skeleton"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tbreuss.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-26T07:32:26.000Z","updated_at":"2023-03-08T04:42:22.000Z","dependencies_parsed_at":"2022-08-24T14:53:59.020Z","dependency_job_id":null,"html_url":"https://github.com/tbreuss/php-package-skeleton","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbreuss%2Fphp-package-skeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbreuss%2Fphp-package-skeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbreuss%2Fphp-package-skeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbreuss%2Fphp-package-skeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tbreuss","download_url":"https://codeload.github.com/tbreuss/php-package-skeleton/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252253105,"owners_count":21718769,"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":["best-practices","composer","php","phpcs","phpunit","skeleton"],"created_at":"2024-11-13T01:34:37.908Z","updated_at":"2025-05-03T20:32:09.169Z","avatar_url":"https://github.com/tbreuss.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Travis](https://img.shields.io/travis/tbreuss/php-package-skeleton.svg)](https://travis-ci.org/tbreuss/php-package-skeleton)\n[![Scrutinizer](https://img.shields.io/scrutinizer/g/tbreuss/php-package-skeleton.svg)](https://scrutinizer-ci.com/g/tbreuss/php-package-skeleton/)\n[![Packagist](https://img.shields.io/packagist/dt/tebe/php-package-skeleton.svg)](https://packagist.org/packages/tebe/php-package-skeleton)\n[![GitHub (pre-)release](https://img.shields.io/github/release/tbreuss/php-package-skeleton/all.svg)](https://github.com/tbreuss/php-package-skeleton/releases)\n[![License](https://img.shields.io/github/license/tbreuss/php-package-skeleton.svg)](https://github.com/tbreuss/php-package-skeleton/blob/master/LICENSE)\n[![PHP from Packagist](https://img.shields.io/packagist/php-v/tebe/php-package-skeleton.svg)](https://packagist.org/packages/tebe/php-package-skeleton)\n\n# PHP Package Skeleton\n\nThis skeleton is a concrete example package based on [PDS Skeleton][php-pds]. \nIt uses the standard filesystem structure as proposed by PDS and adds some additional folders and files.\nThe main idea is to create a project using this package and then remove the parts that are not used or not useful for your project.\n\n## Installation\n\nTo create a new project based on this skeleton package simply run the following command: \n\n    $ composer create-project -s dev tebe/php-package-skeleton myproject\n\nNow, remove the parts from the created project that are not used or not useful for your project.\n\n## Summary\n\nThe package contains the following root-level directories:\n\n| Directory              | Description                                   |\n| ---------------------- | --------------------------------------------- |\n| `bin/`                 | command-line executables                      |\n| `config/`              | configuration files                           |\n| `docs/`                | documentation files                           |\n| `examples/`            | example files                                 |\n| `public/`              | web server files                              |\n| `resources/`           | other resource files                          |\n| `src/`                 | PHP source code                               |\n| `tests/`               | test code                                     |\n| `vendor/`              | vendor files managed by composer              |\n\nThe package contains the following root-level files:\n\n| Files                  | Description                                   |\n| ---------------------- | --------------------------------------------- |\n| `CHANGELOG.md`         | a log of changes between releases             |\n| `CONTRIBUTING.md`      | guidelines for contributors                   |\n| `LICENSE`              | licensing information                         |\n| `README.md`            | information about the package itself          |\n\nThe package contains the following scripts:\n\n| Script                 | Description                                   |\n| ---------------------- | --------------------------------------------- |\n| `composer test`        | run minimal testsuite with phpunit and phpcs  |\n| `composer run`         | start webserver from public directory         |\n| `composer phpunit`     | run unit tests                                |\n| `composer phpcs`       | run php code sniffer                          |\n| `composer docs:api`    | build API documentation                       |\n| `composer docs:build`  | build project documentation                   |\n| `composer docs:serve`  | serve project documentation                   |\n\n## Root-Level Directories\n\n### bin/\n\nThis is the root-level directory for command-line executable files.\nYou are free to define the structure and contents of the directory.\n\n### config/\n\nThis is the root-level directory for configuration files.\nYou are free to define the structure and contents of the directory.\n\n### docs/\n\nThis is the root-level directory for documentation files written in Markdown. \n\nThe directory contains three subfolders:\n\n- api: the html api documentation generated by [ApiGen][apigen].\n- book: the markdown documentation for your project \n- html: the html documentation generated by [MkDocs][mkdocs] \n\nYou are free to extend the structure and contents of the directory.\n\n### examples/\n\nThis is the root-level directory for example files.\nYou are free to define the structure and contents of the directory.\n\n### public/\n\nThis is the root-level directory for web server files.\nYou are free to define the structure and contents of the directory.\n\n### resources/\n\nThis is the root-level directory for other resource files.\nYou are free to define the structure and contents of the directory.\n\n### src/\n\nThis is the root-level directory for PHP source code  files.\nYou are free to define the structure and contents of the directory.\n\n### tests/\n\nThis is the root-level directory for test files run by [PHPunit][phpunit].\n\nThe directory contains at least\n\n- bootstrap.php: The bootstrap file used by PHPUnit\n\nYou are free to define the structure and contents of the directory.\n\n### vendor/\n\nThis is the root-level directory managed by [Composer][composer].\n\nThis directory is generated and MUST NOT be touched.\n\n### Other Directories\n\nYou are free to add other root-level directories for purposes not used in this skeleton.\n\n## Root-Level Files\n\n### .apigen.yml\n\n(TBD)\n\n### .gitignore\n\n(TBD)\n\n### .travis.yml\n\n(TBD)\n\n### CHANGELOG.md\n\nThis is the root-level file with a list of changes since the last release or version.\nYou are free to define the structure and contents of the file.\n\n### .composer.json\n\n(TBD)\n\n### .composer.lock\n\n(TBD)\n\n### CONTRIBUTING.md\n\nThis is the root-level file that describes how to contribute to the package.\nYou are free to define the structure and contents of the file.\n\n### LICENSE\n\nThis is the root-level file indicating the licensing and copyright terms of the package contents.\n\nThis is needed by package consumers which might be in violation of copyright law when copying unlicensed intellectual property.\n\nYou are free to define the structure and contents of the file.\n\n### mkdocs.yml\n\n(TBD)\n\n### phpcs.xml\n\n(TBD)\n\n### phpunit.xml\n\n(TBD)\n\n### README.md\n\nThis is the root-level file with information about the package itself.\nYou are free to define the structure and contents of the file.\n\n### Other Files\n\nYou are free to add other root-level files for purposes not used in this skeleton.\n\n## Scripts\n\nA script, in Composer's terms, is either a PHP callbacks or any command-line executable command.\nThey are defined in the root `composer.json` package and are useful for executing a package's custom code or package-specific commands during the Composer execution process.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md)\n\n\n[apigen]: https://github.com/ApiGen/ApiGen\n[composer]: https://getcomposer.org\n[mkdocs]: http://www.mkdocs.org\n[php-pds]: https://github.com/php-pds/skeleton\n[phpunit]: https://phpunit.de\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftbreuss%2Fphp-package-skeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftbreuss%2Fphp-package-skeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftbreuss%2Fphp-package-skeleton/lists"}