protected function _runPhase($phase, $order) { self::$out->logNotice("phase start: {$phase}"); self::$out->mark(); foreach ($order as $role => $driver) { if (method_exists($driver, $phase)) { $driver->{$phase}($role, $this->_roles); } } $sec = self::$out->time(); self::$out->logNotice("phase {$phase} executed in {$sec} seconds"); return true; }