Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save augustohp/3735335 to your computer and use it in GitHub Desktop.
Save augustohp/3735335 to your computer and use it in GitHub Desktop.
Excessões e Erros no Respect\Rest

Lidando com Exceptions no Respect\Rest

Bem vindo! Esse é o primeiro-git-post de uma nova funcionalidade em um componente do Respect:

Suponha que você seja louco o suficiente para arquitetar uma API de Olá Mundo que randomicamente dispare Exceptions. Com o Respect/Rest isso ficaria assim:

<?php
$router = new Respect\Rest\Router;
$router->any('/**', function() {
    if (rand(0,1)) {
        return 'Oi mundo!';
    } else {
        throw new RuntimeException('Pegadinha do Malandro!');
    }
});

Agora você pode capturar esses erros! Cortesia das Exception Routes do Respect\Rest:

<?php
$router->exceptionRoute('RuntimeException', function($e) {
    return 'Oi mundo! (Sem pegadinhas)';
});

Esperamos que você tenha gostado! Porque tem mais:

Rotas de Erro

Existe um tipo especial de rota para capturar erros do próprio PHP (Notices, Warnings, User Errors):

<?php
$router->errorRoute(function($err) {
    return 'Ocorreu o seguinte erro: '.PHO_EOL.var_dump($err);
});

Esperamos que tenha gostado! =D Já disponível na PEAR e Composer. http://github.com/Respect/Rest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment