| @@ 26-39 (lines=14) @@ | ||
| 23 | * @return WalkerInterface |
|
| 24 | * @throws InvalidWalkerException |
|
| 25 | */ |
|
| 26 | public function createWalker($walkerClass) |
|
| 27 | { |
|
| 28 | if (isset($this->walkers[$walkerClass])) { |
|
| 29 | return $this->walkers[$walkerClass]; |
|
| 30 | } |
|
| 31 | ||
| 32 | if (!isset(class_implements($walkerClass)[WalkerInterface::class])) { |
|
| 33 | throw new InvalidWalkerException(); |
|
| 34 | } |
|
| 35 | ||
| 36 | $this->walkers[$walkerClass] = new $walkerClass; |
|
| 37 | ||
| 38 | return $this->walkers[$walkerClass]; |
|
| 39 | } |
|
| 40 | } |
|
| 41 | ||
| @@ 26-39 (lines=14) @@ | ||
| 23 | * @return WriterInterface |
|
| 24 | * @throws InvalidWriterException |
|
| 25 | */ |
|
| 26 | public function createWriter($writerClass) |
|
| 27 | { |
|
| 28 | if (isset($this->writers[$writerClass])) { |
|
| 29 | return $this->writers[$writerClass]; |
|
| 30 | } |
|
| 31 | ||
| 32 | if (!isset(class_implements($writerClass)[WriterInterface::class])) { |
|
| 33 | throw new InvalidWriterException(); |
|
| 34 | } |
|
| 35 | ||
| 36 | $this->writers[$writerClass] = new $writerClass; |
|
| 37 | ||
| 38 | return $this->writers[$writerClass]; |
|
| 39 | } |
|
| 40 | } |
|
| 41 | ||