_useService = $allow && extension_loaded( 'newrelic' ); } public function __call($method, $params) { if(!$this->_useService) return false; $function = $this->transformFunctionName($method); return call_user_func_array($function, $params); } protected function transformFunctionName($name) { $tab = preg_split('/(?=[A-Z])/', $name, -1, PREG_SPLIT_NO_EMPTY); if ($tab[0] == 'newrelic') array_shift ($tab); $loweredTab = array_map('strtolower', $tab); return 'newrelic_' . implode('_', $loweredTab); } }