| @@ 378-407 (lines=30) @@ | ||
| 375 | static function destroy($id); |
|
| 376 | } |
|
| 377 | ||
| 378 | class DatabaseConnectionStringFactory implements DatabaseConnectionStringFactoryInterface |
|
| 379 | { |
|
| 380 | /** |
|
| 381 | * Create a connection string |
|
| 382 | * |
|
| 383 | * @param array $config |
|
| 384 | * @throws Pyjac\PotatoORM\Exception\DatabaseDriverNotSupportedException |
|
| 385 | * @return string |
|
| 386 | */ |
|
| 387 | public function createDatabaseSourceString($config) |
|
| 388 | { |
|
| 389 | ||
| 390 | $driver = $config['DRIVER']; |
|
| 391 | ||
| 392 | switch ($driver) { |
|
| 393 | case 'sqlite': |
|
| 394 | $dsn = $driver.'::memory:'; |
|
| 395 | break; |
|
| 396 | case 'mysql': |
|
| 397 | case 'postgres': |
|
| 398 | if(strcasecmp($driver, 'postgres') == 0) $driver="pgsql"; |
|
| 399 | $dsn = $driver.':host='.$config['HOSTNAME'].';dbname='.$config['DBNAME']; |
|
| 400 | if(isset($config['PORT'])) $dsn .= ';port='.$config['PORT']; |
|
| 401 | break; |
|
| 402 | default: |
|
| 403 | throw new DatabaseDriverNotSupportedException; |
|
| 404 | } |
|
| 405 | return $dsn; |
|
| 406 | } |
|
| 407 | } |
|
| 408 | ||
| 409 | interface DatabaseConnectionStringFactoryInterface |
|
| 410 | { |
|
| @@ 5-34 (lines=30) @@ | ||
| 2 | ||
| 3 | namespace Pyjac\ORM; |
|
| 4 | ||
| 5 | class DatabaseConnectionStringFactory implements DatabaseConnectionStringFactoryInterface |
|
| 6 | { |
|
| 7 | /** |
|
| 8 | * Create a connection string |
|
| 9 | * |
|
| 10 | * @param array $config |
|
| 11 | * @throws Pyjac\PotatoORM\Exception\DatabaseDriverNotSupportedException |
|
| 12 | * @return string |
|
| 13 | */ |
|
| 14 | public function createDatabaseSourceString($config) |
|
| 15 | { |
|
| 16 | ||
| 17 | $driver = $config['DRIVER']; |
|
| 18 | ||
| 19 | switch ($driver) { |
|
| 20 | case 'sqlite': |
|
| 21 | $dsn = $driver.'::memory:'; |
|
| 22 | break; |
|
| 23 | case 'mysql': |
|
| 24 | case 'postgres': |
|
| 25 | if(strcasecmp($driver, 'postgres') == 0) $driver="pgsql"; |
|
| 26 | $dsn = $driver.':host='.$config['HOSTNAME'].';dbname='.$config['DBNAME']; |
|
| 27 | if(isset($config['PORT'])) $dsn .= ';port='.$config['PORT']; |
|
| 28 | break; |
|
| 29 | default: |
|
| 30 | throw new DatabaseDriverNotSupportedException; |
|
| 31 | } |
|
| 32 | return $dsn; |
|
| 33 | } |
|
| 34 | } |
|