Elgg  Version 1.10
autoloader.php
Go to the documentation of this file.
1 <?php
10 $autoload_path = dirname(dirname(__DIR__)) . '/vendor/autoload.php';
12 if (!$autoload_available) {
13  die("Couldn't include '$autoload_path'. Did you run `composer install`?");
14 }
15 
20 function _elgg_services() {
21  static $provider;
22  if (null === $provider) {
23  $provider = _elgg_create_service_provider();
24  }
25  return $provider;
26 }
27 
39  $loader = new \Elgg\ClassLoader(new \Elgg\ClassMap());
40  // until the cache can be loaded, just setup PSR-0 autoloading
41  // out of the classes directory. No need to build a full map.
42  $loader->register();
43  $manager = new \Elgg\AutoloadManager($loader);
44 
45  return new \Elgg\Di\ServiceProvider($manager);
46 }
47 
56  $manager = _elgg_services()->autoloadManager;
57  $manager->setStorage(elgg_get_system_cache());
58  if (! $manager->loadCache()) {
59  $manager->addClasses(dirname(dirname(__FILE__)) . '/classes');
60  }
61 }
62 
69  _elgg_services()->autoloadManager->saveCache();
70 }
71 
78  _elgg_services()->autoloadManager->deleteCache();
79 }
80 
87  return _elgg_services()->autoloadManager->getLoader();
88 }
89 
102 function elgg_register_classes($dir) {
103  _elgg_services()->autoloadManager->addClasses($dir);
104 }
105 
115 function elgg_register_class($class, $location) {
116  _elgg_services()->autoloadManager->setClassPath($class, $location);
117  return true;
118 }
119 
120 // set up autoloading and DIC
122 
123 _elgg_services()->events->registerHandler('shutdown', 'system', '_elgg_save_autoload_cache', 1000);
124 _elgg_services()->events->registerHandler('upgrade', 'all', '_elgg_delete_autoload_cache');
_elgg_load_autoload_cache()
Load cached data into the autoload system.
Definition: autoloader.php:55
elgg_get_class_loader()
Get Elgg&#39;s class loader.
Definition: autoloader.php:86
$autoload_path
Definition: autoloader.php:10
elgg_register_class($class, $location)
Register a classname to a file.
Definition: autoloader.php:115
_elgg_create_service_provider()
Sets up autoloading and creates the service provider (DIC)
Definition: autoloader.php:38
elgg_get_system_cache()
Returns an object suitable for caching system information.
Definition: cache.php:20
if(!$autoload_available) _elgg_services()
Definition: autoloader.php:20
if(isset($vars['id'])) $class
Definition: ajax_loader.php:19
_elgg_save_autoload_cache()
Save the autoload system cache.
Definition: autoloader.php:68
Save menu items.
$autoload_available
Definition: autoloader.php:11
_elgg_delete_autoload_cache()
Delete the autoload system cache.
Definition: autoloader.php:77
elgg_register_classes($dir)
Register a directory tree for autoloading classes/interfaces/traits.
Definition: autoloader.php:102
$loader
Definition: ajax_loader.php:32