issue в шторме
когда у нас метод может принимать необязательные nullable by default параметры
по типу ?string $field
то где-то в контексте метода, если ты сделаешь явную проверку на null !== $field
и захочешь сделать с ними какое-либо действие, которое можно вынести в отдельный метод, допустим фильтрация по необязательному полю
то шторм тайпхинтами указывает их все равно как ?string
хотя в контексте где мы их вызываем они не могут быть нуловыми уже
~
public function getSomeData(?int $year): ?array
// do some
if (null !== $year) {
//apply filter
e.g
$qb->andWhere('year = :year')
->setParameter('year', $year);
жмем тут рефакторинг и выносим это в какой-то addWhereYear
private function addWhereYear(?int $year, QueryBuilder $qb): QueryBuilder
^ проблема вот тут
з.ы у кого большие шрифты и тд или телега криво переносит
проблема в ?int
юзай котлин :) там с нуллами отлично разобрались
не очень понятно почему не приведет код с проблемой. я не вижу вызова addWhereYear.
Обсуждают сегодня