mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-29 16:47:00 +00:00
Added autoloading of base namespace classes
This commit is contained in:
parent
75d2409a7c
commit
6c116678d7
@ -89,21 +89,11 @@ namespace pocketmine {
|
|||||||
require_once(\pocketmine\PATH . "src/spl/SplClassLoader.php");
|
require_once(\pocketmine\PATH . "src/spl/SplClassLoader.php");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!class_exists("Logger", false)){
|
|
||||||
require_once(\pocketmine\PATH . "src/spl/Logger.php");
|
|
||||||
require_once(\pocketmine\PATH . "src/spl/LogLevel.php");
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!class_exists("ThreadedLogger", false)){
|
|
||||||
require_once(\pocketmine\PATH . "src/spl/ThreadedLoggerAttachment.php");
|
|
||||||
require_once(\pocketmine\PATH . "src/spl/ThreadedLogger.php");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$autoloader = new \SplClassLoader();
|
$autoloader = new \SplClassLoader();
|
||||||
$autoloader->add("pocketmine", array(
|
$autoloader->setMode(\SplAutoloader::MODE_DEBUG);
|
||||||
|
$autoloader->add("pocketmine", [
|
||||||
\pocketmine\PATH . "src"
|
\pocketmine\PATH . "src"
|
||||||
));
|
]);
|
||||||
|
|
||||||
$autoloader->register(true);
|
$autoloader->register(true);
|
||||||
if(!class_exists("raklib\\RakLib", false)){
|
if(!class_exists("raklib\\RakLib", false)){
|
||||||
|
@ -52,7 +52,6 @@ class GenerationThread extends \Thread{
|
|||||||
$this->loader = $loader;
|
$this->loader = $loader;
|
||||||
$this->logger = $logger;
|
$this->logger = $logger;
|
||||||
$loadPaths = [];
|
$loadPaths = [];
|
||||||
$this->addDependency($loadPaths, new \ReflectionClass($this->logger));
|
|
||||||
$this->addDependency($loadPaths, new \ReflectionClass($this->loader));
|
$this->addDependency($loadPaths, new \ReflectionClass($this->loader));
|
||||||
$this->loadPaths = array_reverse($loadPaths);
|
$this->loadPaths = array_reverse($loadPaths);
|
||||||
|
|
||||||
|
@ -141,6 +141,14 @@ class SplClassLoader implements SplAutoloader{
|
|||||||
public function load($resourceName){
|
public function load($resourceName){
|
||||||
$resourceAbsolutePath = $this->getResourceAbsolutePath($resourceName);
|
$resourceAbsolutePath = $this->getResourceAbsolutePath($resourceName);
|
||||||
if($resourceAbsolutePath == ""){
|
if($resourceAbsolutePath == ""){
|
||||||
|
if($resourceName{0} !== "\\"){
|
||||||
|
if(file_exists(dirname(__FILE__) ."/" . $resourceName . $this->fileExtension)){
|
||||||
|
require dirname(__FILE__) ."/" . $resourceName . $this->fileExtension;
|
||||||
|
if($this->isResourceDeclared($resourceName)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
throw new \RuntimeException(
|
throw new \RuntimeException(
|
||||||
sprintf('Autoloader couldn\'t find a file to include for %s', $resourceName)
|
sprintf('Autoloader couldn\'t find a file to include for %s', $resourceName)
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user