mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-11 20:02:09 +00:00
For some reason the php7 version sets the quality of sulfuras to be 80. The sepcification simply states this is the max, and that it does not change, as written on line 22 of the english specifications.
64 lines
2.1 KiB
PHP
64 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace App;
|
|
|
|
final class GildedRose {
|
|
|
|
private $items = [];
|
|
|
|
public function __construct($items) {
|
|
$this->items = $items;
|
|
}
|
|
|
|
public function updateQuality() {
|
|
foreach ($this->items as $item) {
|
|
if ($item->name != 'Aged Brie' and $item->name != 'Backstage passes to a TAFKAL80ETC concert') {
|
|
if ($item->quality > 0) {
|
|
if ($item->name != 'Sulfuras, Hand of Ragnaros') {
|
|
$item->quality = $item->quality - 1;
|
|
}
|
|
}
|
|
} else {
|
|
if ($item->quality < 50) {
|
|
$item->quality = $item->quality + 1;
|
|
if ($item->name == 'Backstage passes to a TAFKAL80ETC concert') {
|
|
if ($item->sell_in < 11) {
|
|
if ($item->quality < 50) {
|
|
$item->quality = $item->quality + 1;
|
|
}
|
|
}
|
|
if ($item->sell_in < 6) {
|
|
if ($item->quality < 50) {
|
|
$item->quality = $item->quality + 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($item->name != 'Sulfuras, Hand of Ragnaros') {
|
|
$item->sell_in = $item->sell_in - 1;
|
|
}
|
|
|
|
if ($item->sell_in < 0) {
|
|
if ($item->name != 'Aged Brie') {
|
|
if ($item->name != 'Backstage passes to a TAFKAL80ETC concert') {
|
|
if ($item->quality > 0) {
|
|
if ($item->name != 'Sulfuras, Hand of Ragnaros') {
|
|
$item->quality = $item->quality - 1;
|
|
}
|
|
}
|
|
} else {
|
|
$item->quality = $item->quality - $item->quality;
|
|
}
|
|
} else {
|
|
if ($item->quality < 50) {
|
|
$item->quality = $item->quality + 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|