Advertisement
Guest User

Пример DataMapper

a guest
Nov 24th, 2015
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.54 KB | None | 0 0
  1. <?php
  2.  
  3. interface BookMapperInterface
  4. {
  5.     public function findById($id);
  6.     public function deleteById($id);
  7. }
  8.  
  9. //--------------------------------------------------------------------
  10.  
  11. // Раз - для MySQL
  12. namespace Storage\MySQL;
  13.  
  14. class BookMapper implements \BookMapperInterface
  15. {
  16.     public function findById($id)
  17.     {
  18.        // Выполняем это здесь:  
  19.        // SELECT * FROM `books` WHERE `id` = $id
  20.     }
  21.  
  22.     public function deleteById($id)
  23.     {
  24.         // Выполняем это здесь:
  25.         // DELETE FROM `books` WHERE id = $id
  26.     }
  27.  
  28.     // и остальные методы..
  29. }
  30.  
  31. //--------------------------------------------------------------------
  32.  
  33. // Два - для MongoDB
  34.  
  35. namespace Storage\MongoDB;
  36.  
  37. class BookMapper implements \BookMapperInterface
  38. {
  39.     public function findById($id)
  40.     {
  41.        // Выполняем это здесь:  
  42.        return $mongo->fetchCollectionById(...);
  43.     }
  44.  
  45.     public function deleteById($id)
  46.     {
  47.         // Выполняем это здесь:
  48.         return $mongo->deleteCollectionById(...);
  49.     }
  50.  
  51.     // и остальные методы..
  52. }
  53.  
  54. //-----------------------------------------------------------
  55. // Три для ЛЮБОЙ ДРУГОЙ БД
  56.  
  57.  
  58. namespace Storage\SomeRandomDbEngine;
  59.  
  60. class BookMapper implements \BookMapperInterface
  61. {
  62.     public function findById($id)
  63.     {
  64.         $anyDb->fetchById(...)
  65.     }
  66.  
  67.     public function deleteById($id)
  68.     {
  69.         $anyDb->deleteById(...)
  70.     }
  71.  
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement