Guest User

Untitled

a guest
May 22nd, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. <?php
  2.  
  3. // Bad demo
  4. $user = new User();
  5.  
  6. $user->create([]);
  7.  
  8. class User
  9. {
  10. public function create(array $data)
  11. {
  12. try {
  13. // ...save user to datebase
  14. } catch (DatabaseException $e) {
  15. $this->logError($e->getMessage());
  16. }
  17. }
  18.  
  19. public function logError()
  20. {
  21. // ...write error to file
  22. }
  23. }
  24.  
  25. // Good demo
  26. $logger = new Logger();
  27. $user = new User($logger);
  28.  
  29. $user->create([]);
  30.  
  31. class User
  32. {
  33. protected $logger;
  34.  
  35. public function __construct(Logger $logger)
  36. {
  37. $this->logger = $logger;
  38. }
  39.  
  40. public function create(array $data)
  41. {
  42. try {
  43. // ...save user to datebase
  44. } catch (DatabaseException $e) {
  45. $this->logger->writeToFile($e->getMessage());
  46. }
  47. }
  48.  
  49. public function logError()
  50. {
  51. // ...write error to file
  52. }
  53. }
  54.  
  55. class Logger
  56. {
  57.  
  58. public function writeToFile($message)
  59. {
  60. // ...write error to file
  61. }
  62. }
Add Comment
Please, Sign In to add comment