Select Page

phpUnderControl – Continuous Integration for PHP

phpUnderControl metrics screenshot
More screen shots here
phpUnderControl is an add-on application for the continuous integration
tool CruiseControl, which integrates some of the best PHP development tools.
This project aims to make your first steps with CruiseControl and PHP as easy
as possible. Therefore phpUnderControl comes with a command line tool that
performs all modifications to an existing CruiseControl installation.

My objective is to be able to set up this server and provide you all an access to the build result for my component.

Integrated tools

  • Testing and software metrics

    PHPUnit is the most popular xUnit implementation for PHP that provides a framework for automated
    software tests. Except the pure test automation PHPUnit contains a rich set of features like
    Code Coverage, Project Mess Detection and Software Metrics. To visualize the generated XML reports
    phpUnderControl comes with a set of XSL stylesheets that prepare the output for CruiseControl.

  • Documentation

    phpUnderControl uses the most common documentation tool for PHP projects, PhpDocumentor, to generate
    an up to date documentation of the software on every build cycle. Therefore the developers will always get
    the latest API documentation of their project. Additionally phpUnderControl extracts the documentation
    violations found by the PhpDocumentor and visualizes these as an additional quality report in the user
    interface and the project time line of documentation violations.

  • Coding Standards

    With the package PHP_CodeSniffer the PEAR project gave PHP developers a very useful tool to detect coding
    standard violations in a project. Since version 1.0.0RC3 it has native support for the Checkstyle XML format
    that can be visualized by CruiseControl. PHP_CodeSniffer comes with a variety of pre defined coding standards
    like PEAR and ZEND but due to its modular structure you can easily implement a custom rule set or extend one
    of the pre defined sets. This development tool assures that the whole project code will remain clean and

About The Author

I worked with various Insurances companies across Switzerland on online applications handling billion premium volumes. I love to continuously spark my creativity in many different and challenging open-source projects fueled by my great passion for innovation and blockchain technology.In my technical role as a senior software engineer and Blockchain consultant, I help to define and implement innovative solutions in the scope of both blockchain and traditional products, solutions, and services. I can support the full spectrum of software development activities, starting from analyzing ideas and business cases and up to the production deployment of the solutions.I'm the Founder and CEO of Disruptr GmbH.