| 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 |