コード例 #1
0
 /**
  * Returns a list of objects implementing the changelog-provider-interface
  * @return interface_changelog_provider[]
  */
 public static function getAdditionalProviders()
 {
     if (self::$arrCachedProviders != null) {
         return self::$arrCachedProviders;
     }
     $arrReturn = class_resourceloader::getInstance()->getFolderContent("/system", array(".php"), false, function ($strOneFile) {
         if (uniStrpos($strOneFile, "class_changelog_provider") === false) {
             return false;
         }
         $objReflection = new ReflectionClass(uniSubstr($strOneFile, 0, -4));
         if ($objReflection->implementsInterface("interface_changelog_provider")) {
             return true;
         }
         return false;
     }, function (&$strOneFile) {
         $objReflection = new ReflectionClass(uniSubstr($strOneFile, 0, -4));
         $strOneFile = $objReflection->newInstance();
     });
     self::$arrCachedProviders = $arrReturn;
     return $arrReturn;
 }