1. Go to this page and download the library: Download phariscope/multitenant 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/ */
return function (array $context) {
$o = new ContextTransformer($context);
$o->transformDataPath();
$o->transformDatabaseUrl();
$kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
return new Application($kernel);
};
class YourOwnCommand extends Command
{
(...)
protected function configure(): void
{
$this
->setName('my:own:command')
->setDescription('This is a sample command description.')
->addOption('tenant_id', null, InputOption::VALUE_REQUIRED, 'The ID of the tenant');
}
(...)
class YourController extends AbstractController
{
public function __construct(
private EntityManagerResolver $entityManagerResolver,
) {}
#[Route('your/route', name: 'runYourRoute', methods: ['POST', 'GET'])]
public function runYourRoute(Request $request): Response
{
$tenantEntityManager = $this->entityManagerResolver->getEntityManagerByRequest($request);
(new DatabaseTools())->createDatabaseIfNotExists($entityManager);
$repository = new YourSomeEntityDoctrineRepository($tenantEntityManager);
// Your code here...
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.