/swoft-ext

🗂 Swoft extension components: amqp, apollo, breaker, consul, elasticsearch, grpc, kafka, limiter, view, zipkin

Primary LanguagePHPApache License 2.0Apache-2.0

Swoft Ext Component

This repository is used to manage all swoft extension components.

IMPORTANT

All components will NOT be modified in the original repository of ext component, SHOULD ALWAYS be modified in this repository, also commit and push to this repository, and then @swoft-bot would sync changes to the original repository of component by git subtree push, notice that this action needs triggered by the repositories owner.

Usage

Add require to composer.json

"require": {
    "swoft/ext": "dev-master as 2.0"
}

Install:

composer update

Unit Tests

Quick run tests for component:

// For all components
./phpunit.sh all
// For multi components
./phpunit.sh db event
// For one component
./phpunit.sh event

Only tests an special component:

./phpunit.sh event

// use run.php
php run.php -c src/event/phpunit.xml

// filter test method name
php run.php -c src/event/phpunit.xml --filter testAddModule

Output coverage data(TODO):

// output coverage. require xdebug ext
phpunit --coverage-text

// output coverage without xdebug
phpdbg -dauto_globals_jit=Off -qrr /usr/local/bin/phpunit --coverage-text
phpdbg -dauto_globals_jit=Off -qrr run.php --coverage-text -c src/event/phpunit.xml

Contributing

The development team welcomes you to submit PR (Pull Request) to us, but to ensure code quality and uniform style, go to the official main repository swoft/swoft and Development repository, Note the code and commit format when contributing code

Precautions when initiating PR

  • Please do not submit PR to each sub-repository, they are all read-only
  • The development repository for the core components is swoft/swoft-component
  • The development repository for extension components is swoft/swoft-ext
  • Please fork the corresponding development warehouse. After modification, please submit your PR to the corresponding development warehouse.

Officially syncs code to individual sub-warehouses when new versions are released

Commit Message

  • the commit message can only be in English
  • Please try to ensure that the commit message is meaningful
  • it is best to start with the keyword add: update: fix:

Code Style

  • Submitted PHP code Must Follow PSR-2 code style
  • Reasonable and meaningful class, method, variable naming
  • Appropriate comments, reasonable use of blank lines to keep the code simple and easy to read
  • Don't include some meaningless information such as @author, etc. (author is that can be seen from the commit log)