We're finally upgrading to PHP 5.4 coming release, and probably it's most prominent addition is that of traits (strictly mixins, but whatever).
Mxins in Ruby have always seemed a quick way to get you in a lot of shit, but 5.4 forces me to take another look at them, so I can formulate some guidelines for additions to our codebase. In other words, to make sure they are used without violating a truckload of design principles. Specifically SRP, or more generally cohesion look like a likely victim.
One possible application I see is reducing duplication, especially of boilerplate. In a way, a less complete solution to the problem solved by AOP, so the main Use Case I see is adding system/supporting features such as logging and access control. Example:
public function setLogger(LoggerInterface $logger)
$this->logger = $logger;
public function getLogger()
protected function log($level, $message, $context = array())
$this->logger->log($level, $message, $context);
public function doSomething()
$this->log(LogLevel::DEBUG, "I did something worth logging");
I'm a lead developer and I want to push two of my developers to get the ZCE certificate. The company will of course pay for the certification itself and resources like the study guide, but probably not the Zend online training which I think is overkill anyway: these are professional developers so they don't need to start from scratch (and we can't let them invest that much time, there's cool stuff to be built).
When I took the exam myself quite some time ago, I used the online practice exams to check if I was ready, I would like these guys (actually a guy and a girl) to go the same route. But I can't for the life of me find the online exam.
Have they been discontinued, are they hidden away somewhere, or am I just being a bit retarded?
Edit: I've submitted an inquiry on zend.com, but I am also interested in alternatives. I have periodical progress evaluations with my developers, and I would like to have something a bit more measurable than code reviews (which eat at my time as well). The exams seemed ideal but if they have been discontinued I will have to come up with something else, preferrably with limited effort on my part (not because I'm lazy but because I have more developers and already have a surreal worload). So I'm open to suggestions...