Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

Для обзора была выбрана актуальная версия 2.7 (LTS)
Это тоже не ошибка, а упрощение кода, и можно переписать как "'content_type' => $response->headers->get('Content-Type') ?: 'text/html'".
включив строгую типизацию в процесс разработки
class ..._SimpleTypeHint {
public static function throwExceptionIfArgumentIsNotString($givenArgument);
public static function throwExceptionIfArgumentIsNotInteger($givenArgument);
public static function throwExceptionIfArgumentIsNotFloat($givenArgument);
public static function throwExceptionIfArgumentIsNotBoolean($givenArgument);
}
class ..._SimpleTypeCasting {
public static function toInteger($mixedValueToCast);
public static function toFloat($mixedValueToCast);
public static function toBoolean($mixedValueToCast);
}
class SomeClass {
/** @var int|null $someId */
public function doSomethingWithEntityId($someId)
{
if ($someId !== null) {
..._SimpleTypeHint::throwExceptionIfArgumentIsNotInteger($someId);
}
...
}
}
… и использующий шаблон проектирования MVC ...
Статический анализ PHP кода на примере Symfony2