DatabaseConnectionFactory.php 960 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace Test\PhpDevCommunity\PaperORM\Factory;
  3. use PhpDevCommunity\PaperORM\EntityManager;
  4. final class DatabaseConnectionFactory
  5. {
  6. public static function createConnection(string $driver): EntityManager
  7. {
  8. switch ($driver) {
  9. case 'sqlite':
  10. return new EntityManager([
  11. 'driver' => 'sqlite',
  12. 'user' => null,
  13. 'password' => null,
  14. 'memory' => true,
  15. ]);
  16. case 'mariadb':
  17. return new EntityManager([
  18. 'driver' => 'pdo_mysql',
  19. 'host' => 'localhost',
  20. 'path' => 'test_db',
  21. 'user' => 'root',
  22. 'password' => '',
  23. ]);
  24. default:
  25. throw new \InvalidArgumentException("Database driver '$driver' not supported");
  26. }
  27. }
  28. }