Matthias Noback

Consultant and trainer

Contact me »

Object-oriented programming

I train PHP developers to use object-oriented programming (OOP) to its full extent.

The course starts with an explanation of concepts related to OOP, like encapsulation, abstraction, inheritance and polymorphism. We take the time to think these concepts through. And of course, they are applied to PHP programming.

Next, we consider the "SOLID" principles, which are principles of class design. They help you make good design choices when you are applying OOP concepts like inheritance and abstraction.

Finally, design patterns will be addressed. These are common patterns in class design. Being able to recognize and implement design patterns will greatly enhance maintainability of your code base.

Test-driven development

In an interactive setting I train PHP developers to apply the motto "test first" to their daily coding practice. TDD sessions are both theoretical and practical. You will learn about the nature and purpose of unit tests, but you will also learn how to write these tests with PHPUnit.

Being proficient in unit testing and test-driven development helps developers write highly reliable code, that can easily be refactored whenever it's necessary to change its behavior. Tested code in general is also better designed, which will help other developers to understand the code and its expected workings.


As a Sensiolabs Certified Symfony2 developer I can give PHP developers who are going to work with Symfony2 a thorough introduction to the framework, some of its areas, or even specific components.

When a training session would be too much, but you still have a list of questions about Symfony2 that you need answered, I can also join you for a couple of hours and find the answers with or for you.