1. Go to this page and download the library: Download klsoft/yii3-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/ */
use Doctrine\DBAL\Tools\Console\ConnectionProvider;
use Doctrine\DBAL\Tools\Console\ConnectionProvider\SingleConnectionProvider;
use Doctrine\ORM\ORMSetup;
use Doctrine\DBAL\DriverManager;
use Doctrine\ORM\Configuration;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Tools\Console\EntityManagerProvider;
use Doctrine\ORM\Tools\Console\EntityManagerProvider\SingleManagerProvider;
use Psr\Cache\CacheItemPoolInterface;
use Psr\Container\ContainerInterface;
use Symfony\Component\Cache\Adapter\ArrayAdapter;
use Doctrine\ORM\Proxy\ProxyFactory;
return [
// ...
CacheItemPoolInterface::class => ArrayAdapter::class, //One of the following adapters should be used instead: Psr16Adapter, RedisAdapter, MemcachedAdapter, DoctrineDbalAdapter, and so forth.
Configuration::class => static function (ContainerInterface $container) use ($params) {
$config = ORMSetup::createAttributeMetadataConfiguration( // on PHP >= 8.4, use ORMSetup::createAttributeMetadataConfig()
paths: $params['doctrine']['paths'],
isDevMode: $params['doctrine']['isDevMode'],
cache: $container->get(CacheItemPoolInterface::class));
$config->setAutoGenerateProxyClasses(ProxyFactory::AUTOGENERATE_FILE_NOT_EXISTS_OR_CHANGED);
return $config;
},
EntityManagerInterface::class => static function (ContainerInterface $container) use ($params) {
$configuration = $container->get(Configuration::class);
return new EntityManager(
DriverManager::getConnection(
$params['doctrine']['connection'],
$configuration
),
$configuration);
},
EntityManagerProvider::class => SingleManagerProvider::class,
ConnectionProvider::class => static function (ContainerInterface $container) use ($params) {
$configuration = $container->get(Configuration::class);
return new SingleConnectionProvider(
DriverManager::getConnection(
$params['doctrine']['connection'],
$configuration
)
);
},
];
use Doctrine\ORM\EntityManagerInterface;
final class ProductRepository implements ProductRepositoryInterface
{
public function __construct(private EntityManagerInterface $entityManager)
{
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.