for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Jabe\Engine\Impl;
class Direction
{
private static $ASCENDING;
private static $DESCENDING;
private $name;
public function __construct(string $name)
$this->name = $name;
}
public static function ascending(): Direction
if (self::$ASCENDING == null) {
self::$ASCENDING = new Direction("asc");
return self::$ASCENDING;
public function descending(): Direction
if (self::$DESCENDING == null) {
self::$DESCENDING = new Direction("desc");
return self::$DESCENDING;
public function getName(): string
return $this->name;
public function __toString()
return "Direction["
. "name=" . $this->name
. "]";
public static function findByName(string $directionName): ?Direction
switch ($directionName) {
case "asc":
return self::ascending();
case "desc":
return self::descending();
Jabe\Engine\Impl\Direction::descending()
If this is a false-positive, you can also ignore this issue in your code via the ignore-call annotation
ignore-call
return self::/** @scrutinizer ignore-call */ descending();
default:
return null;