Page MenuHomec4science

__phutil_library_init__.php
No OneTemporary

File Metadata

Created
Mon, Jun 3, 07:17

__phutil_library_init__.php

<?php
define('__LIBPHUTIL__', true);
$root = dirname(__FILE__);
require_once $root.'/moduleutils/core.php';
require_once $root.'/moduleutils/PhutilBootloader.php';
require_once $root.'/moduleutils/PhutilBootloaderException.php';
require_once $root.'/moduleutils/PhutilLibraryConflictException.php';
function __phutil_autoload($class_name) {
// Occurs in PHP 5.2 with `call_user_func(array($this, 'self::f'))`.
if ($class_name === 'self' || $class_name === 'parent') {
return;
}
try {
$loader = new PhutilSymbolLoader();
$symbols = $loader
->setType('class')
->setName($class_name)
->selectAndLoadSymbols();
if (!$symbols) {
throw new PhutilMissingSymbolException(
$class_name,
pht('class or interface'),
pht(
"the class or interface '%s' is not defined in the library ".
"map for any loaded %s library.",
$class_name,
'phutil'));
}
} catch (PhutilMissingSymbolException $ex) {
// If there are other SPL autoloaders installed, we need to give them a
// chance to load the class. Throw the exception if we're the last
// autoloader; if not, swallow it and let them take a shot.
$autoloaders = spl_autoload_functions();
$last = end($autoloaders);
if ($last == __FUNCTION__) {
throw $ex;
}
}
}
spl_autoload_register('__phutil_autoload', $throw = true);
phutil_register_library('phutil', __FILE__);

Event Timeline