chore: complete update

This commit is contained in:
2025-07-17 16:24:20 +02:00
parent 899227b0a4
commit 64a7051137
1300 changed files with 85570 additions and 2756 deletions

View File

@@ -2,83 +2,40 @@
declare(strict_types=1);
use App\Framework\Core\Discovery;
use App\Framework\Core\DynamicRoute;
use App\Framework\Core\PhpObjectExporter;
use App\Framework\Core\RouteCache;
use App\Framework\Core\RouteMapper;
use App\Framework\Core\StaticRoute;
use App\Framework\ErrorHandling\ErrorHandler;
use App\Framework\Http\HttpMethod;
use App\Framework\Router\RouteCollection;
use App\Framework\Performance\PerformanceMeter;
use App\Framework\Core\AppBootstrapper;
require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../src/Framework/Debug/helpers.php';
// Fehleranzeige für die Entwicklung aktivieren
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$rfl = new ReflectionClass(Discovery::class);;
$ghost = $rfl->newLazyGhost(function (Discovery $object) {
// Initialize object in-place
$object->__construct();
register_shutdown_function(function() {
$error = error_get_last();
if ($error !== null) {
echo "SHUTDOWN ERROR: " . print_r($error, true);
}
});
/*$clientrequest = new \App\Framework\HttpClient\ClientRequest(HttpMethod::GET, 'https://jsonplaceholder.typicode.com/posts');
$meter = new PerformanceMeter();
$client = new \App\Framework\HttpClient\CurlHttpClient();
// Konfiguration
$config = [
'debug' => true,
'async_discovery' => true,
// weitere Konfigurationsoptionen...
];
var_dump($client->send($clientrequest));*/
// Anwendung initialisieren und ausführen
$basePath = dirname(__DIR__);
$bootstrapper = new AppBootstrapper($basePath, $meter, $config);
$app = $bootstrapper->bootstrapWeb();
$emitter = new \App\Framework\Http\ResponseEmitter();
ErrorHandler::register($emitter);
#echo dirname(__DIR__) . '/cache/routes.cache.php';
$discovery = new Discovery(new \App\Framework\Core\RouteMapper());
$results = $discovery->discover(__DIR__ . '/../src/Application/');
$rc = new \App\Framework\Core\RouteCompiler();
$routes = $rc->compile($results[\App\Framework\Attributes\Route::class]);
$cacheFile = dirname(__DIR__) . '/cache/routes.cache.php';
$routeCache = new \App\Framework\Core\RouteCache($cacheFile);
$routeCache->save($routes);
$request = new \App\Framework\Http\HttpRequest(
method: \App\Framework\Http\HttpMethod::tryFrom($_SERVER['REQUEST_METHOD'] ?? 'GET'),
path:parse_url( $_SERVER['REQUEST_URI'] ?? '/', PHP_URL_PATH),
);
#var_dump("<pre>", $routeCache->load());
$router = new \App\Framework\Router\HttpRouter(new RouteCollection($routeCache->load()));
$match = $router->match($request->method->value, $request->path);
$dispatcher = new \App\Framework\Router\RouteDispatcher();
$return = $dispatcher->dispatch($match);
$responder = new \App\Framework\Router\RouteResponder();
$response = $responder->respond($return);
$emitter = new \App\Framework\Http\ResponseEmitter();
$emitter->emit($response);
/*$redis = new Predis\Client([
'scheme' => 'tcp',
'host' => 'redis', // Service-Name aus docker-compose
'port' => 6379,
]);
$redis->set('hello', 'world');
echo $redis->get('hello'); // Gibt: world aus*/
// Anwendung ausführen
$app->run();
exit;