Revision: Fri, 31 May 2024 16:11:09 GMT
v3.9 – outdated
This version of the documentation is outdated. Consider upgrading your project to Spiral Framework 3.12
Edit this page

Overview — Contribution Guide

Are you interested in helping out with Spiral? It's an open-source project that needs the help of developers like you to keep it running and make it even better. There are lots of ways you can get involved.

Pull Requests

One way to contribute to the framework is by submitting pull requests on GitHub. If you have a fix or improvement, you can submit a pull request and it will be reviewed by the maintainers. There are a few requirements that you should be aware of when making a pull request:

Declare strict types

The framework requires that all PHP files declare strict types using the declare(strict_types=1); directive at the top of the file. This helps ensure that code is type-safe and reduces the risk of bugs and errors.

Here is an example of how this directive should be used:

php
<?php

declare(strict_types=1);

namespace App;

// ...

Follow the PSR-12 coding standard

Make sure your code follows the PSR-12 coding standard. This is a set of guidelines for how code should be formatted and structured, so that it's consistent and easy to read.

Check the code

./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -vvv --dry-run --using-cache=no

Automatically fix the code style

./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -vvv --using-cache=no

Note
The package will force CL endings.

Include tests

Important thing to keep in mind when submitting code to Spiral is to include tests. This helps make sure that the code you're submitting is working the way it should, and that it doesn't cause any new problems and, it makes it easier for maintainers to verify that your code is correct.

Run tests

./vendor/bin/phpunit

Use Psalm

Before you submit any code, you have to use Psalm to check for any mistakes or problems. This makes sure that your code is correct and follows the best ways of doing things. Spiral uses Psalm's error level, "4" when checking code. It's an easy step to make sure your contribution is up to the standard.

Run Psalm

./vendor/bin/psalm --no-cache

Keep it simple

One more thing to keep in mind when contributing to Spiral is to try and keep your code as simple and straightforward as possible. The maintainers prefer solutions that are easy to understand and implement over ones that are overly complex. So, when making a pull request, try to think of the simplest way to solve the problem at hand and present it that way. It will help your pull request to get accepted faster.

Support Questions

If you have any questions or need advice or suggestions, feel free to join our Discord channel for support from the framework maintainers and community members.

Issues

If you come across any issues or security vulnerabilities while using Spiral, please report them. The maintainers take these matters very seriously and will do their best to address them as soon as possible. You can report issues or vulnerabilities by opening an issue in spiral/framework GitHub repository.

Commercial Support

It's important to note that Spiral and all related components are maintained by Spiral Scout.

If you would like to support the development of Spiral, you can become a sponsor.

Additionally, if you need commercial support, you can contact the Spiral Scout team at team@spiralscout.com. They will be happy to help you with any questions or issues you may have.

Licensing

Spiral and its components will remain under MIT license indefinitely.