src/Model/Schema.php
Schema
has 24 functions (exceeds 20 allowed). Consider refactoring. Open
Open
class Schema
{
use JsonSchemaTrait;
/** @var string */
Method __construct
has 5 arguments (exceeds 4 allowed). Consider refactoring. Open
Open
protected string $classPath,
protected string $className,
JsonSchema $schema,
?SchemaDefinitionDictionary $dictionary = null,
protected bool $initialClass = false,
The method __construct has a boolean flag argument $initialClass, which is a certain sign of a Single Responsibility Principle violation. Open
Open
protected bool $initialClass = false,
- Read upRead up
- Exclude checks
BooleanArgumentFlag
Since: 1.4.0
A boolean flag argument is a reliable indicator for a violation of the Single Responsibility Principle (SRP). You can fix this problem by extracting the logic in the boolean flag into its own class or method.
Example
class Foo {
public function bar($flag = true) {
}
}
Source https://phpmd.org/rules/cleancode.html#booleanargumentflag
The method addProperty uses an else expression. Else clauses are basically not necessary and you can simplify the code by not using them. Open
Open
} else {
// TODO tests:
// testConditionalObjectProperty
// testInvalidConditionalObjectPropertyThrowsAnException
// testInvalidValuesForMultipleValuesInCompositionThrowsAnException
- Read upRead up
- Exclude checks
ElseExpression
Since: 1.4.0
An if expression with an else branch is basically not necessary. You can rewrite the conditions in a way that the else clause is not necessary and the code becomes simpler to read. To achieve this, use early return statements, though you may need to split the code it several smaller methods. For very simple assignments you could also use the ternary operations.
Example
class Foo
{
public function bar($flag)
{
if ($flag) {
// one branch
} else {
// another branch
}
}
}
Source https://phpmd.org/rules/cleancode.html#elseexpression
syntax error, unexpected 'SchemaDefinitionDictionary' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST)
Open
Open
protected SchemaDefinitionDictionary $schemaDefinitionDictionary;
- Exclude checks
Arguments with default values must be at the end of the argument list Open
Open
protected bool $initialClass = false,
- Exclude checks
Line indented incorrectly; expected 4 spaces, found 8 Open
Open
protected string $classPath,
- Exclude checks
Line indented incorrectly; expected 4 spaces, found 8 Open
Open
protected string $className,
- Exclude checks
Line indented incorrectly; expected 8 spaces, found 12 Open
Open
static function (
- Exclude checks
Line indented incorrectly; expected 4 spaces, found 8 Open
Open
protected bool $initialClass = false,
- Exclude checks
Line indented incorrectly; expected 8 spaces, found 12 Open
Open
},
- Exclude checks