design-patterns
25 строк · 500.0 Байт
1<?php
2
3namespace App\Creational\Factory;
4
5use App\Creational\Factory\Classes\FileLogger;
6use App\Creational\Factory\Interfaces\Logger;
7use App\Creational\Factory\Interfaces\LoggerFactory;
8
9class FileLoggerFactory implements LoggerFactory
10{
11/**
12* @param string $filePath
13*/
14public function __construct(private string $filePath)
15{
16}
17
18/**
19* @return Logger
20*/
21public function createLogger(): Logger
22{
23return new FileLogger($this->filePath);
24}
25}