app
Description
Returns the Qubus\Injector\ServiceContainer or Psr\Container\ContainerInterface instance. You may pass a class, alias, or interface name to resolve it from the container as well as any needed parameters.
Warning
This helper is available for ease of use, but should be used sparingly. It is highly recommended that you use a ServiceProvider or dependency injection.
Usage
<?php
use function Codefy\Framework\Helpers\app;
function app(?string $name = null, array $args = []): mixed;
Parameters
$name (string|null) (optional) Alias, class, or interface to resolve from the Injector.
$args (array) (optional) An array of values that will be used to resolve dependencies.
Examples
<?php
use function Codefy\Framework\Helpers\app;
return app(); // returns ContainerInterface|ServiceContainer
<?php
use Qubus\Routing\Psr7Router;
use function Codefy\Framework\Helpers\app;
$router = app(name: Psr7Router::class); // resolves router from Injector
<?php
use Qubus\Routing\Psr7Router;
use function Codefy\Framework\Helpers\app;
$router = app()->alias(
original: \Psr\SimpleCache\CacheInterface::class,
alias: \Qubus\Cache\Psr16\SimpleCache::class
); // binds alias to the original (interface)