Pipeline error prawdopodobnie z phpdoc

0

Przy PR pipelines zwraca błąd na funkcji "never returns null so it can be removed from the return typehint" - czyli na moje rozumowanie to błąd z phpdoc, problem w tym, że ta funkcja w ogóle nie ma phpdoc ustawionego.

Czy coś jeszcze może to powodować? Czy brak phpdoc na funkcji może powodować coś takiego?

1

Jaka wersja php?
Może deklarację masz tak:

function foo(): null
{
    return 1;
}
0

PHP 7.4.26

private function getCategory(string $categoryId, Context $context): EntityCollection
{
   ...
    return $categories->getEntities(); 
}
1

A co zwraca getEntities?

0

@var EntityCollection
protected $entities;

Tablice z encji

1

A ta kolekcja jest zawsze deklarowana?

Czy dodanie PHPdoca do funkcji nie zmienia działania tego analizatora?

0

Zawsze, podejrzewam że gdyby nie zawsze to by nie było błędu bo by mógł iść null.

Próbowałem dać:

/**
 * @return EntityCollection
 */

ale to nic nie zmienia pipeline ciągle rzuca błędem.

1

Co robi Ci statyczną analizę? PHPstan? Jaka wersja?

2
SwateQ napisał(a):

Przy PR pipelines zwraca błąd na funkcji "never returns null so it can be removed from the return typehint" - czyli na moje rozumowanie to błąd z phpdoc, problem w tym, że ta funkcja w ogóle nie ma phpdoc ustawionego.

Czy coś jeszcze może to powodować? Czy brak phpdoc na funkcji może powodować coś takiego?

Ja bym Ci radził po pierwsze tak: Ustal dokładnie w której linijce PhpStan znajduje Ci tą uwagę.

Ten błąd który pokazałeś, dzieje się najczęściej w takiej sytuacji

function welcome(): ?int {
  return 4;
}

Type-hint masz na ?int (czyli int albo null), a zwracasz zawsze 4, czyli nigdy nie będzie null, czyli możesz zawęzić type-hint.

Kody który wkleiłeś nie dopuszcza nulla, z tego co widzę; więc podjerzewam że błąd który widzisz nie odnosi się wcale do tego kawałka kodu który wkleiłeś.

0

@TomRiddle: masz rację, na localu musiałem ten błąd wyeliminować wcześniej stąd prawidłowy kod, nie pushowałem tego pliku, a okazało się że na development był błędny

1 użytkowników online, w tym zalogowanych: 0, gości: 1