Maison >développement back-end >tutoriel php >Orbis : la magie de l'abstraction en PHP
Vous êtes-vous déjà demandé comment simplifier des fonctionnalités complexes en PHP d'une manière élégante et réutilisable ? Présentation de Orbis, un outil révolutionnaire qui transforme la façon dont nous gérons les instances et les abstractions en PHP.
Orbis est une classe puissante qui agit comme un gestionnaire d'instance global, vous permettant d'abstraire des fonctionnalités complexes en composants simples et réutilisables. Imaginez pouvoir encapsuler toute votre logique de routage, de configuration et de gestion d'état dans une seule ligne de code !
Pour comprendre la véritable puissance d'Orbis, regardons un exemple réel du framework Lithe :
function get(string $path, callable|array ...$handler): void { $caller = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0]; $key = strtolower($caller['file']); $router = Orbis::instance($key); if (!$router instanceof Router) { throw new Exception("Invalid router instance: Router not found"); } $router->get($path, ...$handler); }
Ce code apparemment simple cache des fonctionnalités incroyablement puissantes. Orbis permet :
Créons un système de mise en cache intelligent à l'aide d'Orbis :
class SmartCache { private array $storage = []; private array $analytics = []; public function set(string $key, mixed $value, int $ttl = 3600): void { $this->storage[$key] = [ 'value' => $value, 'expires' => time() + $ttl, 'hits' => 0 ]; } public function get(string $key): mixed { if (!isset($this->storage[$key])) { return null; } if (time() > $this->storage[$key]['expires']) { unset($this->storage[$key]); return null; } $this->storage[$key]['hits']++; $this->analytics[$key] = ($this->analytics[$key] ?? 0) + 1; return $this->storage[$key]['value']; } public function getAnalytics(): array { return $this->analytics; } } // Registrando diferentes instâncias para diferentes contextos Orbis::register(new SmartCache(), 'user.cache'); Orbis::register(new SmartCache(), 'product.cache'); // Em qualquer lugar da sua aplicação function cacheUser(User $user): void { $cache = Orbis::instance('user.cache'); $cache->set("user.{$user->id}", $user); } function getUser(int $id): ?User { $cache = Orbis::instance('user.cache'); return $cache->get("user.{$id}"); }
Installation via Composer :
composer require lithemod/orbis
// Registre uma instância Orbis::register(MyClass::class); // Use em qualquer lugar $instance = Orbis::instance(MyClass::class);
Orbis n'est pas simplement une autre bibliothèque de gestion des dépendances - c'est une nouvelle façon de penser l'abstraction et la réutilisation du code en PHP. Avec lui, vous pouvez :
Essayez Orbis aujourd'hui et découvrez comment il peut transformer votre code PHP en quelque chose de vraiment magique ! ✨
Pour mieux comprendre le fonctionnement d'Orbis, lisez l'article Comment utiliser Orbis pour simplifier votre code PHP et découvrez son potentiel en pratique !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!