webtheory / php-project
Simple starter package for any php project
Installs: 31
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^8.0
- symfony/polyfill-php81: ^1.27
- symfony/polyfill-php82: ^1.27
Requires (Dev)
- behat/behat: ^3.13
- brainmaestro/composer-git-hooks: ^2.8.5
- captainhook/captainhook: ^5.16.4
- fakerphp/faker: ^1.23
- filp/whoops: ^2.15.2
- friendsofphp/php-cs-fixer: ^3.17
- maximebf/debugbar: ^1.18.2
- mockery/mockery: ^1.6.2
- monolog/monolog: ^2.9.1
- nunomaduro/collision: ^5.11 || ^6.0 || ^7.0
- oscarotero/env: ^2.1
- overtrue/phplint: ^9.0.4
- pdepend/pdepend: ^2.14
- php-parallel-lint/php-console-highlighter: 1.0
- php-parallel-lint/php-parallel-lint: ^1.3.2
- phpbench/phpbench: @dev
- phpcompatibility/php-compatibility: ^9.3.5
- phpmd/phpmd: @stable
- phpspec/phpspec: ^7.4
- phpspec/prophecy-phpunit: ^2.0.2
- phpstan/phpstan: ^1.10.19
- phpunit/phpunit: ^9.6.9
- phpunit/phpunit-selenium: ^9.0.1
- psy/psysh: ^0.11.18
- rector/rector: ^0.17.1
- spatie/phpunit-watcher: ^1.23.6
- squizlabs/php_codesniffer: ^3.7.2
- symfony/error-handler: ^5.0 || ^6.0.19
- symfony/thanks: ^1.2.10
- symfony/var-dumper: ^5.0 || ^6.0.19
- vimeo/psalm: ^5.12
- vlucas/phpdotenv: ^5.5
- webtheory/exterminate: @dev
- webtheory/path-builder: @dev
- webtheory/playground: @dev
README
A message to Russian 🇷🇺 people
If you currently live in Russia, please read this message.
Purpose
Php Project is a simple starting point for your next PHP project! Forked from thephpleague/skeleton
, it not only provides boilerplate for commonly needed package files, but can populate placeholders with your own project details.
Installation
You can get started by using Composer's create-project
command.
composer create-project webtheory/php-project project-name
On Unix/Linux systems, you should automatically be prompted for your project information after installation. If not, or if installing on Windows, manually run the prefill
interactive script in the console from your project root directory by entering:
php prefill
You'll then be asked a few questions that will allow Php Project to personalize the boilerplate with your info, initiate a new git repository, and update composer's autoload with your project's unique namespace.
Folder Structure
Some commonly defined directories have been included and are merely suggestive. Delete what you don't need and rename and restructure as you wish.
assets/
bench/
bin/
build/
config/
docs/
logs/
public/
spec/
src/
story/
templates/
tests/
vendor/
views/
Development Tools
Php Project gets you started with an assortment of third-party tools that are useful for development and testing. Some of these will be redundant and you'll want to choose some over others. Simply delete any you don't need from the require-dev
section of your composer.json
and they'll be uninstalled the next time you run the composer update
command. Information and documentation for each can be found at their websites linked below.
DevOps and Continuous Integration
Much of the included boilerplate is for CI and test automation services. All that's required of you is to register your project's repository with your preferred services and you're good to go. Check them out at:
Composer Scripts
Php Project provides extra composer commands via composer scripts. These of course are simply mapped to the cli of some of the various development utilities included.
Forking
If you find that you often make projects with a specific or more defined structure, you can simply fork "Php Project" and make your own additions. The prefill
process is easily extended and the script itself can be modified to perform unique tasks. There are even simple task runners (testprefill
and testproject
) located in the bin
directory that you can use to easily check that your customizations are functioning properly and showing up as expected.
Change log
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please email spider.mane.web@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.