PHP code example of locky42 / leopard-doctrine

1. Go to this page and download the library: Download locky42/leopard-doctrine 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/ */

    

locky42 / leopard-doctrine example snippets


use Leopard\Doctrine\ResolveTargetEntityRegistry;
use Leopard\User\Contracts\Models\UserInterface;
use App\Models\User;

ResolveTargetEntityRegistry::addResolveTargetEntity(
    UserInterface::class,
    User::class,
    []
);

use Doctrine\Common\EventManager as DoctrineEventManager;
use Doctrine\DBAL\DriverManager;
use Doctrine\ORM\EntityManager as ORMEntityManager;
use Doctrine\ORM\ORMSetup;
use Leopard\Doctrine\EntityManager;
use Leopard\Doctrine\Events\BeforeInitEntityManagerEvent;
use Leopard\Doctrine\Events\BeforeInitEventManagerEvent;
use Leopard\Doctrine\Events\AfterInitEventManagerEvent;
use Leopard\Events\EventManager as LeopardEventManager;

$config = ORMSetup::createAttributeMetadataConfiguration(
    paths: [__DIR__ . '/src/Models'],
    isDevMode: true
);

LeopardEventManager::doEvent(BeforeInitEventManagerEvent::class);

$eventManager = new DoctrineEventManager();

LeopardEventManager::doEvent(AfterInitEventManagerEvent::class, $eventManager);

$connection = DriverManager::getConnection([
    // driver, host, dbname, user, password...
], null, $eventManager);

LeopardEventManager::doEvent(BeforeInitEntityManagerEvent::class);

// Important: pass the same Doctrine EventManager to ORM EntityManager
$ormEntityManager = new ORMEntityManager($connection, $config, $eventManager);

EntityManager::setEntityManager($ormEntityManager);

$em = EntityManager::getEntityManager();