test to learn OO and design patterns in php