PHP code example of weebel / container
1. Go to this page and download the library: Download weebel/container 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/ */
weebel / container example snippets
$container = \Weebel\Container\Container::getInstance();
namespace App;
class UserBuilder
{
public function __construct(public UserRepositoryInterface $userRepository, public string $type)
{
}
}
$container->set('user_builder', new App\UserBuilder());
$container->set('user_builder', fn()=>new App\UserBuilder());
$container->get('user_builder');
$container->get(App\UserBuilder::class);
$container->alias('user_builder', App\UserBuilder::class);
$container->alias(App\UserBuilderInterface::class, App\UserBuilder::class);
$container->set('user_builder', App\UserBuilder::class);
$container->set('admin_user_builder', App\UserBuilder::class);
$container->addArgument('admin_user_builder', 'type', 'admin');
$container->addArgument(App\UserBuilder::class, 'type', 'normal');
$container->set('admin_repository', AdminRepository::class);
$container->addArgument(App\UserBuilder::class, 'userRepository', '@admin_repository');
$container->addArgument(App\UserBuilder::class, 'userRepository', fn(\Psr\Container\ContainerInterface $container)=> $container->get(AdminRepository::class));
$container->addArgument(App\UserBuilder::class, 'userRepository', '@'.AdminRepository::class);