User Tools

Site Tools


s

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
s [2022/03/09 13:17] chifeks [2023/09/14 06:06] (current) – external edit 127.0.0.1
Line 41: Line 41:
   - Работа с продуктом   - Работа с продуктом
   - Логирование ошибок   - Логирование ошибок
 +
 +//logger.php//
 +
 +<code>
 +class Logger {
 +    public function log($message) {
 +        //...
 +        $this->saveToFile($message);
 +    }
 +}
 +</code>
 +
 +Теперь изменим файл index.php:
 +
 +//index.php//
 +
 +<code>
 +$logger  = new Logger();
 +$product = new Product($logger);
 +$product->setPrice(10);
 +</code>
 +
 +Изменим класс Product:
 +
 +//product.php//
 +
 +<code>
 +class Product {
 +    private $logger;
 +      
 +    public function __construct(Logger $logger) {
 +        $this->logger = $logger;
 +    }
 + 
 +    public function setPrice($price) {
 +        try {
 +            // save price in db
 +        } catch (DbException $e) {
 +            $this->logger->log($e->getMessage());
 +        }
 +    }
 +}
 +</code>
  
  
s.1646831822.txt.gz · Last modified: 2023/09/14 06:06 (external edit)