remove Loader::autoload in favor of psr-4

v4
fadrian06 7 days ago
parent 886e584429
commit 07d72d24ef

@ -27,8 +27,8 @@
"ext-json": "*"
},
"autoload": {
"files": [
"src/autoload.php"
"classmap": [
"src/Flight.php"
],
"psr-4": {
"flight\\": "src"

@ -11,8 +11,6 @@ use flight\net\Route;
use flight\core\EventDispatcher;
use Psr\Container\ContainerInterface;
require_once __DIR__ . '/autoload.php';
/**
* The Flight class is a static representation of the framework.
*

@ -1,9 +0,0 @@
<?php
declare(strict_types=1);
use flight\core\Loader;
require_once __DIR__ . '/Flight.php';
Loader::autoload(true, [dirname(__DIR__)]);

@ -132,24 +132,6 @@ class Loader
$this->instances = [];
}
/**
* Starts/stops autoloader.
* @param bool $enabled Enable/disable autoloading
* @param string|iterable<int, string> $dirs Autoload directories
*/
public static function autoload(bool $enabled = true, $dirs = []): void
{
if ($enabled) {
spl_autoload_register([__CLASS__, 'loadClass']);
} else {
spl_autoload_unregister([__CLASS__, 'loadClass']); // @codeCoverageIgnore
}
if (!empty($dirs)) {
self::addDirectory($dirs);
}
}
/**
* Autoloads classes.
* Classes are not allowed to have underscores in their names.

@ -5,9 +5,9 @@ declare(strict_types=1);
namespace tests;
use flight\core\Loader;
use tests\classes\Factory;
use tests\classes\User;
use PHPUnit\Framework\TestCase;
use tests\classes\User;
use tests\classes\Factory;
use tests\classes\TesterClass;
class LoaderTest extends TestCase
@ -17,7 +17,6 @@ class LoaderTest extends TestCase
protected function setUp(): void
{
$this->loader = new Loader();
$this->loader->autoload(true, __DIR__ . '/classes');
}
// Autoload a class
@ -137,21 +136,4 @@ class LoaderTest extends TestCase
$this->assertEquals('Sally', $TesterClass->param5);
$this->assertEquals('Suzie', $TesterClass->param6);
}
public function testAddDirectoryAsArray(): void
{
$loader = new class extends Loader {
public function getDirectories()
{
return self::$dirs;
}
};
$loader->addDirectory([__DIR__ . '/classes']);
self::assertEquals([
dirname(__DIR__),
__DIR__ . '/classes'
], $loader->getDirectories());
}
}

Loading…
Cancel
Save