An open API service indexing awesome lists of open source software.

https://github.com/fusonic/php-extensions

The Fusonic PHP Extensions project aggregates several thoughtfully designed, reusable class libraries, which can be used in modern PHP Symfony application development.
https://github.com/fusonic/php-extensions

Last synced: about 1 year ago
JSON representation

The Fusonic PHP Extensions project aggregates several thoughtfully designed, reusable class libraries, which can be used in modern PHP Symfony application development.

Awesome Lists containing this project

README

          

# PHP Extensions

## Packages

The `packages` directory contains the source code for the packages. Everything in here will be published and available
to the public (For example, Gitlab CI related files or internal documentation must not be in here!)

### Available packages

- [assert](packages/assert/README.md)
- [api-documentation-bundle-bundle](packages/api-documentation-bundle/README.md)
- [csv-reader](packages/csv-reader/README.md)
- [ddd-extensions](packages/ddd-extensions/README.md)
- [framework-bundle](packages/framework-bundle/README.md)
- [http-kernel-bundle](packages/http-kernel-bundle/README.md)
- [messenger-mailer-bundle](packages/messenger-mailer-bundle/README.md)

## Development

A Docker container with PHP and Composer is included.
To run it execute `./docker/php-cli/run.sh` or `./docker/php-cli/run.sh packages/` to set a given
package as the working directory.

## Tests

The `ci/packages/` Gitlab CI file should contain the tests for a package.

## Publishing

Each package must have a public Git repository to which the source will be published.

The changes of packages merged into the master branch will automatically be published (as `dev-master`). In order to publish a new
version, make sure to increase the version inside the `composer.json` file of the package. Once this is merged a manual
`publish` pipeline step can be triggered.

Publishing stages for individual packages are defined in `ci/packages/` Gitlab CI file.

# CI Pipelines

Required CI/CD variables:
* `GIT_EMAIL`: E-Mail address used to push to the public package Git repository.
* `GIT_NAME`: Name used to push to the public package Git repository.
* `SSH_PRIVATE_KEY`: Private SSH key for pushing to the public Git repository.