/** * _processSpecialties() - Break out the specialty names for this provider * */ protected function _processSpecialties() { $specialties = array(); if ($this->_providerReflection->hasMethod('getSpecialties')) { $specialties = $this->_provider->getSpecialties(); if (!is_array($specialties)) { require_once 'Zend/Tool/Framework/Provider/Exception.php'; throw new Zend_Tool_Framework_Provider_Exception( 'Provider ' . get_class($this->_provider) . ' must return an array for method getSpecialties().' ); } } else { $defaultProperties = $this->_providerReflection->getDefaultProperties(); $specialties = (isset($defaultProperties['_specialties'])) ? $defaultProperties['_specialties'] : array(); if (!is_array($specialties)) { require_once 'Zend/Tool/Framework/Provider/Exception.php'; throw new Zend_Tool_Framework_Provider_Exception( 'Provider ' . get_class($this->_provider) . '\'s property $_specialties must be an array.' ); } } $this->_specialties = array_merge(array('_Global'), $specialties); }