-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
38 lines (30 loc) · 1.05 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
declare(strict_types=1);
require 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
use YasinYazici\SoftwareEngineering\Console\ConsoleOutput;
use YasinYazici\SoftwareEngineering\FizzBuzzHelper;
use YasinYazici\SoftwareEngineering\NumberGenerator;
/** @var NumberGenerator */
$numberGenerator = new NumberGenerator();
/** @var iterable */
$iterableNumbers = $numberGenerator->generate(1, 100);
/** @var FizzBuzzHelper */
$fizzBuzzHelper = new FizzBuzzHelper(3, 5);
/** @var ConsoleOutput */
$consoleOutput = new ConsoleOutput();
foreach ($iterableNumbers as $iterableNumber) {
if($fizzBuzzHelper->isFizzBuzz($iterableNumber)) {
$consoleOutput->outputToConsole("FizzBuzz");
continue;
}
if($fizzBuzzHelper->isFizz($iterableNumber)) {
$consoleOutput->outputToConsole("Fizz");
continue;
}
if($fizzBuzzHelper->isBuzz($iterableNumber)) {
$consoleOutput->outputToConsole("Buzz");
continue;
}
$numberAsString = (string) $iterableNumber;
$consoleOutput->outputToConsole($numberAsString);
}