1. Go to this page and download the library: Download nimbly/carton library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
nimbly / carton example snippets
$container = new Container;
$container = Container::getInstance();
$container->set(SomeInterface::class, new SomeClass);
$container->set("timezone", "UTC");
$someClass = $container->get(SomeClass::class);
if( $container->has(SomeClass::class) ){
echo "Container has SomeClass::class.";
}
class Foo
{
public function __construct(
protected DateTime $date)
{
}
}
class Bar
{
public function __construct(
protected Foo $foo)
{
}
}
$bar = $container->make(Bar::class);
class BooksController
{
public function get(ServerRequestInterface $request, string $isbn): Response
{
return new Response(
Books::find($isbn)
);
}
}
$container->set(ServerRequestInterface::class, $serverRequest);
$response = $container->call([BooksController::class, "get"], ["isbn" => "123123"]);
$container->addContainer(
new Config([
new FileLoader(__DIR__ . "/config")
])
);
$container->get("database.connections");
class MyServiceProvider implements ServiceProviderInterface
{
public function register(Container $container): void
{
$container->singleton(
MyService::class,
function(Container $container): void {
return new MyService(
$container->get(SomeDependency::class)
);
}
);
}
}
$container->register(new MyServiceProvider);
// Register group of services at once.
$container->register([
new MyServiceProvider,
new MyOtherServiceProvider
]);
// Register services by class name.
$container->register(MyServiceProvider::class);
// Register group of services by class name.
$container->register([
MyServiceProvider::class,
MyOtherServiceProvider::class
]);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.