The error codes are defined as constants, which is great since they can be overridden by creating a class that extends Response; however, due to the fact that the constants are referenced via self::CODE_NOT_FOUND instead of static::CODE_NOT_FOUND, the constants being referenced are always the ones defined in the original class despite the class that was initiated.
The error codes are defined as constants, which is great since they can be overridden by creating a class that extends Response; however, due to the fact that the constants are referenced via self::CODE_NOT_FOUND instead of static::CODE_NOT_FOUND, the constants being referenced are always the ones defined in the original class despite the class that was initiated.