Lightweight user PHP library developed using Domain-Driven Design
BenGorUser is lightweight, flexible and easy to use user management library. Using Domain-Driven Design this library offers a well tested and documented codebase with many common use cases already implemented, such as:
- User registration
- Basic
- With confirmation
- By invitation
- Change password
- Basic
- Without old password
- By request remember password
- Log in / log out
- User removal
- Role management
- Grant
- Revoke
- Purge outdated tokens
- Invitation token
- Remember password token
PHP >= 5.5
The easiest way to install this component is using Composer
$ composer require bengor-user/user
All the documentation is stored in the docs
folder.
This library is completely tested by PHPSpec, SpecBDD framework for PHP.
Run the following command to launch tests:
$ vendor/bin/phpspec run -fpretty
If you have any doubt or maybe you want to share some opinion, you can use our Gitter chat.
BenGorUser uses Crowdin as tool to manage translations so, please help us translating your favorite language via this service. Pull requests about translations will not be accepted.
This library follows PHP coding standards, so pull requests need to execute the Fabien Potencier's PHP-CS-Fixer. Furthermore, if the PR creates some not-PHP file remember that you have to put the license header manually. In order to simplify we provide a Composer script that wraps all the commands related with this process.
$ composer run-script cs
There is also a policy for contributing to this project. Pull requests must be explained step by step to make the review process easy in order to accept and merge them. New methods or code improvements must come paired with PHPSpec tests.
If you would like to contribute it is a good point to follow Symfony contribution standards, so please read the Contributing Code in the project documentation. If you are submitting a pull request, please follow the guidelines in the Submitting a Patch section and use the Pull Request Template.
This library is created by:
@benatespina - benatespina@gmail.com
@gorkalaucirica - gorka.lauzirika@gmail.com