Merge pull request #4865 from eileenmcnaughton/my-first-factory
[civicrm-core.git] / CRM / Core / ClassLoader.php
index 574b96416f455fe656b90d7a7316a5a63279d44f..6ba1658c12ac17bbafced776e211884d7ca30570 100644 (file)
@@ -70,7 +70,8 @@ class CRM_Core_ClassLoader {
   /**
    * Registers this instance as an autoloader.
    *
-   * @param Boolean $prepend Whether to prepend the autoloader or not
+   * @param bool $prepend
+   *   Whether to prepend the autoloader or not.
    *
    * @api
    */
@@ -95,7 +96,7 @@ class CRM_Core_ClassLoader {
     $include_paths = array(
       '.',
       $civicrm_base_path,
-      $packages_path
+      $packages_path,
     );
     $include_paths = implode(PATH_SEPARATOR, $include_paths);
     set_include_path($include_paths . PATH_SEPARATOR . get_include_path());
@@ -161,9 +162,11 @@ class CRM_Core_ClassLoader {
       $file = strtr($class, '_', '/') . '.php';
       // There is some question about the best way to do this.
       // "require_once" is nice because it's simple and throws
-      // intelligible errors.  The down side is that autoloaders
-      // down the chain cannot try to find the file if we fail.
-      require_once ($file);
+      // intelligible errors.
+      if (FALSE != stream_resolve_include_path($file)) {
+        require_once $file;
+      }
     }
   }
+
 }