So, you want to make a PHP library? I bet you’ve tried at least once in your life – either for private purposes or releasing it to the public. But have you wondered, how to design it in order to ease other people using it? In PHP, many things can be done in several different ways, but once you decide to use one, some other people could find difficult to integrate it with their application. This post is about PHP library interoperability, or – in other words – how to write the libraries, so that the programmers could use them in their projects without any problems.
Trac is one of the most popular open-source project management tools. It provides an integrated Subversion viewer, bug tracker and wiki system. In other words everything we need. However, Trac is not perfect. It does not support any other version control system without an external plugin, the wiki syntax is considered as a nightmare for some people, and there may be a problem with hosting – it is written in Python.