Guest User

Untitled

a guest
Dec 2nd, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. ###### config.ini ######
  2. db_driver=mysql
  3. db_user=######
  4. db_password=#######
  5.  
  6. [dsn]
  7. host=########
  8. port=3306
  9. dbname=###
  10.  
  11. [db_options]
  12. PDO::MYSQL_ATTR_INIT_COMMAND=set names utf8
  13.  
  14. [db_attributes]
  15. ATTR_ERRMODE=ERRMODE_EXCEPTION
  16. ############
  17.  
  18.  
  19.  
  20. <?php
  21.  
  22.  
  23. class PDOFactory
  24. {
  25. public static function getInstance()
  26. {
  27.  
  28. $ini = "config.ini" ;
  29. $parse = parse_ini_file ( $ini , true ) ;
  30.  
  31. $driver = $parse [ "db_driver" ] ;
  32. $dsn = "${driver}:" ;
  33. $user = $parse [ "db_user" ] ;
  34. $password = $parse [ "db_password" ] ;
  35. $options = $parse [ "db_options" ] ;
  36. $attributes = $parse [ "db_attributes" ] ;
  37.  
  38. foreach ( $parse [ "dsn" ] as $k => $v ) {
  39. $dsn .= "${k}=${v};" ;
  40. }
  41.  
  42. $pdo = new PDO ( $dsn, $user, $password, $options ) ;
  43.  
  44. foreach ( $attributes as $k => $v )
  45. {
  46. self :: $link -> setAttribute ( constant ( "PDO::{$k}" )
  47. , constant ( "PDO::{$v}" ) ) ;
  48. }
  49.  
  50. return $pdo;
  51. }
  52.  
  53.  
  54.  
  55.  
  56. } ?>
Add Comment
Please, Sign In to add comment