Contribute to Yii

Working using Yii is fun. Contributing to Yii is more fun. No matter you are a Yii expert or not, there are several ways you can help.

Spread the word

You like Yii? Built an outstanding website or application? Blog about it, tweet about it, and let us know.

Report bugs

Found a bug? We probably don't know about it yet so you can help us reporting it in Yii issue tracker.

Please use the contact us form to report any security issues. DO NOT use issue tracker or discuss it in the public forum.

To help us solve it more efficiently please:

  • Check if it is not already reported.
  • Don't use issue tracker to ask questions. There is a forum.
  • If you're not sure if it's a bug or not, discuss it at the forum first.

Note that if you've found a security issue, it's better to contact core team directly. We'll review the issue and will respond via email.

Help us to fix bugs

The most time consuming part of fixing a bug is reproducing it. So if you have some free time and want to dive into Yii internals fixing a bug, the first step is to create a simple test case that contains the minimal code to show the problem. Even better if you can convert it to a unit test. If you don't know how to fix the bug, it's OK. By reproducing it you're doing a very good job already.

If you've tried hard but still couldn't come up with the minimal code to reproduce the bug, it's fine too. Please describe it with details that you think may be helpful for us to reproduce the bug. In most cases, information that may be helpful for us include: the Yii version, the PHP version, the Web server type, the Web browser type, the application configuration, the error call stack, the SQL statement being executed, and so on.

Before you attempt to fix some non-trivial things, please discuss with Yii core developers first to avoid going in the wrong direction.

Review code

People do make mistakes. We do as well. If you're living on a cutting edge and interested in all new trunk features and bug fixes that will be included in the next release, you probably will like reviewing changes we're making. Don't hesitate to comment either when everything is fine or when it looks like core developers have gone mad. Be bold.

Request features

Have a brilliant idea on how to improve Yii? Let us know. You can request features in Yii issue tracker.

When requesting a feature please:

  • Describe the problem feature solves clearly. Explain why you need this and what is it exactly.
  • Suggest on how it should be implemented if you have an idea.
  • Provide links to existing implementations if any.

Contribute unit tests

To make Yii even more stable, you can contribute unit tests. Existing unit tests aren't coming with Yii release packages but are available from GitHub.

To learn about testing framework used in Yii, please refer to the Definitive Guide to Yii.

Not sure how it should work? Don't hesitate to contact the core team.

Improve documentation

Found a typo, wrong or unclear wording? Know how to explain things better? Have a good code example or some missing documentation? You can submit all these in Yii issue tracker.

Translate documentation and framework messages

Yii documentation and messages have been translated into many languages. You may help us to keep these translations up-to-date, or translate those that have not been translated yet. Please submit a GitHub pull request after your translation is ready.

Instructions on how to do the translation work are given in the YiiDoc README. Note that this README was previously written for the YiiDoc project, which is now replaced by the Yii project on GitHub. In the near future, we will update this README to fit for the new environment.