I kmom02 example/game/router finns ett valideringsfel från phpmd som säger:
/home/mos/mvc/example/game/router/src/Controller/Debug.php:24 Avoid using static access to class '\Nyholm\Psr7\Stream' in method '__invoke'.
Det handlar om denna koden:
return (new Response())
->withStatus(200)
->withBody(Stream::create($body));
Validaotrn gillar inte att man använder hårdkodade klassnamn med statisk access till metoder om det inte är ett "factory designpattern" som skall skapa objekt.
PHPMD säger så här:
Static acccess causes inexchangable dependencies to other classes and leads to hard to test code. Avoid
using static access at all costs and instead inject dependencies through the constructor. The only
case when static access is acceptable is when used for factory methods.
Just denna koden ovan blev till när jag försökte hitta ett enklare sätt att skapa och returnera svaret, enklare med färre kodrader. Men rent krasst är det bättre att jag går tillbaka och använder det mer korrekta sättet att skapa och returnera svaret.
// Create and return the response
$psr17Factory = new Psr17Factory();
return $psr17Factory
->createResponse(200)
->withBody($psr17Factory->createStream($body));
Det blir mer rätt och vi undviker det som phpmd varnar oss för.
I kmom02
example/game/router
finns ett valideringsfel från phpmd som säger:Det handlar om denna koden:
Validaotrn gillar inte att man använder hårdkodade klassnamn med statisk access till metoder om det inte är ett "factory designpattern" som skall skapa objekt.
PHPMD säger så här:
Just denna koden ovan blev till när jag försökte hitta ett enklare sätt att skapa och returnera svaret, enklare med färre kodrader. Men rent krasst är det bättre att jag går tillbaka och använder det mer korrekta sättet att skapa och returnera svaret.
Det blir mer rätt och vi undviker det som phpmd varnar oss för.