Showing 229 of 251 total issues

Method action has 43 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    public function action(Model $model, string $type, array $args = [])
    {
        switch ($type) {
            case 'select':
                $action = $this->initAction($model, $args[0] ?? null);
Severity: Minor
Found in src/Persistence/Array_.php - About 1 hr to fix

Method getCreateAutoincrementSql has 43 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    protected function getCreateAutoincrementSql(Table $table, Column $pkColumn): array
    {
        $sqls = [];

        $pkSeqName = $this->getIdentitySequenceName($table->getName(), $pkColumn->getName());
Severity: Minor
Found in src/Persistence/Sql/Postgresql/PlatformTrait.php - About 1 hr to fix

Method escapeStringLiteral has 42 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    #[\Override]
    protected function escapeStringLiteral(string $value): string
    {
        // Oracle (multibyte) string literal is limited to 1332 bytes
        $parts = $this->splitLongString($value, 1000);
Severity: Minor
Found in src/Persistence/Sql/Oracle/ExpressionTrait.php - About 1 hr to fix

Method __construct has 42 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    public function __construct($field, $operator = null, $value = null)
    {
        if ($field instanceof AbstractScope) {
            throw new Exception('Only Scope can contain another conditions');
        } elseif ($field instanceof Field) { // for BC
Severity: Minor
Found in src/Model/Scope/Condition.php - About 1 hr to fix

Method _render has 41 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    private function _render(): array
    {
        // - [xxx] = param
        // - {xxx} = escape
        // - {{xxx}} = escapeSoft
Severity: Minor
Found in src/Persistence/Sql/Expression.php - About 1 hr to fix

Method _renderConditionConditionalCastToText has 41 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    private function _renderConditionConditionalCastToText(string $sqlLeft, string $sqlRight, \Closure $makeSqlFx): string
    {
        return $this->_renderConditionBinaryReuse(
            $sqlLeft,
            $sqlRight,
Severity: Minor
Found in src/Persistence/Sql/Postgresql/Query.php - About 1 hr to fix

Function _renderCase has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
Open

    protected function _renderCase(): ?string
    {
        if (!isset($this->args['case_when'])) {
            return null;
        }
Severity: Minor
Found in src/Persistence/Sql/Query.php - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function fieldToWords has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
Open

    protected function fieldToWords(Model $model): string
    {
        $words = [];

        $field = $this->field;
Severity: Minor
Found in src/Model/Scope/Condition.php - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function validateBeforeExecute has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
Open

    protected function validateBeforeExecute(): void
    {
        if ($this->enabled === false || ($this->enabled instanceof \Closure && ($this->enabled)($this->_getOwner()) === false)) {
            throw new Exception('User action is disabled');
        }
Severity: Minor
Found in src/Model/UserAction.php - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Method _load has 39 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    private function _load(bool $fromReload, bool $fromTryLoad, $id)
    {
        $this->getModel()->assertHasPersistence();
        if ($this->isLoaded()) {
            throw new Exception('Entity must be unloaded');
Severity: Minor
Found in src/Model.php - About 1 hr to fix

Method tryLoad has 39 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    #[\Override]
    public function tryLoad(Model $model, $id): ?array
    {
        $model->assertIsModel();

Severity: Minor
Found in src/Persistence/Sql.php - About 1 hr to fix

Method createAnalysingTheirModel has 39 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    public function createAnalysingTheirModel(array $defaults = []): Model
    {
        if ((self::$analysingTheirModelMap ?? null) === null) {
            self::$analysingTheirModelMap = new WeakAnalysingMap();
        }
Severity: Minor
Found in src/Reference.php - About 1 hr to fix

Method join has 38 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    public function join(
        $foreignTable,
        $masterField = null,
        $joinKind = null,
        $foreignAlias = null
Severity: Minor
Found in src/Persistence/Sql/Query.php - About 1 hr to fix

Method _addField has 38 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    private function _addField(string $fieldName, bool $theirFieldIsTitle, ?string $theirFieldName, array $defaults): SqlExpressionField
    {
        $ourModel = $this->getOurModel();

        $fieldExpression = $ourModel->addExpression($fieldName, array_merge([
Severity: Minor
Found in src/Reference/HasOneSql.php - About 1 hr to fix

Method escapeStringLiteral has 37 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    #[\Override]
    protected function escapeStringLiteral(string $value): string
    {
        $dummyPersistence = (new \ReflectionClass(Persistence\Sql::class))->newInstanceWithoutConstructor();
        if (\Closure::bind(static fn () => $dummyPersistence->binaryTypeValueIsEncoded($value), null, Persistence\Sql::class)()) {
Severity: Minor
Found in src/Persistence/Sql/Mssql/ExpressionTrait.php - About 1 hr to fix

Method getDb has 37 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    public function getDb(?array $tableNames = null, bool $noId = false): array
    {
        if ($tableNames === null) {
            $tableNames = [];
            foreach ($this->createdMigrators as $migrator) {
Severity: Minor
Found in src/Schema/TestCase.php - About 1 hr to fix

Method ref has 37 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    #[\Override]
    public function ref(Model $ourModelOrEntity, array $defaults = []): Model
    {
        $this->assertOurModelOrEntity($ourModelOrEntity);

Severity: Minor
Found in src/Reference/HasOne.php - About 1 hr to fix

Method getCreateAutoincrementSql has 36 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    #[\Override]
    public function getCreateAutoincrementSql($name, $table, $start = 1)
    {
        $sqls = parent::getCreateAutoincrementSql($name, $table, $start);

Severity: Minor
Found in src/Persistence/Sql/Oracle/PlatformTrait.php - About 1 hr to fix

Method init has 36 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    #[\Override]
    protected function init(): void
    {
        parent::init();

Severity: Minor
Found in src/Reference/HasOne.php - About 1 hr to fix

Function _load has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
Open

    private function _load(bool $fromReload, bool $fromTryLoad, $id)
    {
        $this->getModel()->assertHasPersistence();
        if ($this->isLoaded()) {
            throw new Exception('Entity must be unloaded');
Severity: Minor
Found in src/Model.php - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Severity
Category
Status
Source
Language