| 1 | <?php |
| 2 | |
| 3 | require_once __DIR__ . "/devuelveResultadoNoJson.php"; |
| 4 | |
| 5 | function devuelveJson($resultado) |
| 6 | { |
| 7 | |
| 8 | $json = json_encode($resultado); |
| 9 | |
| 10 | if ($json === false) { |
| 11 | |
| 12 | devuelveResultadoNoJson(); |
| 13 | } else { |
| 14 | |
| 15 | http_response_code(200); |
| 16 | header("Content-Type: application/json"); |
| 17 | echo $json; |
| 18 | } |
| 19 | } |
| 20 |
| 1 | <?php |
| 2 | |
| 3 | require_once __DIR__ . "/INTERNAL_SERVER_ERROR.php"; |
| 4 | |
| 5 | function devuelveResultadoNoJson() |
| 6 | { |
| 7 | |
| 8 | http_response_code(INTERNAL_SERVER_ERROR); |
| 9 | header("Content-Type: application/problem+json"); |
| 10 | echo '{' . |
| 11 | '"title": "El resultado no puede representarse como JSON."' . |
| 12 | '"type": "/error/resultadonojson.html"' . |
| 13 | '}'; |
| 14 | } |
| 15 |
| 1 | <?php |
| 2 | |
| 3 | const INTERNAL_SERVER_ERROR = 500; |
| 1 | <?php |
| 2 | |
| 3 | /** |
| 4 | * Recupera el texto de un parámetro enviado al |
| 5 | * servidor por medio de GET, POST o cookie. |
| 6 | * |
| 7 | * Si el parámetro no se recibe, devuelve false. |
| 8 | */ |
| 9 | function recuperaTexto(string $parametro): false|string |
| 10 | { |
| 11 | /* Si el parámetro está asignado en $_REQUEST, |
| 12 | * devuelve su valor; de lo contrario, devuelve false. |
| 13 | */ |
| 14 | $valor = isset($_REQUEST[$parametro]) |
| 15 | ? $_REQUEST[$parametro] |
| 16 | : false; |
| 17 | return $valor; |
| 18 | } |
| 19 |