Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Bad demo
- $user = new User();
- $user->create([]);
- class User
- {
- public function create(array $data)
- {
- try {
- // ...save user to datebase
- } catch (DatabaseException $e) {
- $this->logError($e->getMessage());
- }
- }
- public function logError()
- {
- // ...write error to file
- }
- }
- // Good demo
- $logger = new Logger();
- $user = new User($logger);
- $user->create([]);
- class User
- {
- protected $logger;
- public function __construct(Logger $logger)
- {
- $this->logger = $logger;
- }
- public function create(array $data)
- {
- try {
- // ...save user to datebase
- } catch (DatabaseException $e) {
- $this->logger->writeToFile($e->getMessage());
- }
- }
- public function logError()
- {
- // ...write error to file
- }
- }
- class Logger
- {
- public function writeToFile($message)
- {
- // ...write error to file
- }
- }
Add Comment
Please, Sign In to add comment