De todo jeito teria que fazer rotas se tivesse elementos filhos. E se minha api for apenas leitura ele teria mais métodos do que o necessário.
Mas a necessidade do Controller_Rest é evidente pra tratar parametros, formatos etc. 2012/7/25 felipe bastos <[email protected]> > Blz .. bote pra funcionar seguindo os conceitos de REST .. e vai perceber > o problema .. > > É apenas sugestao ... > > Com funcao anonima vc pode tratar se a route esta de acordo com o method .. > > Um exemplo de Rota rest padrao > > Controller/id/action .. id e action opcionais .. > > Se nao tem id, pode ser get ou post > Se tem id, pode ser get, post, put ou delete > Se tem action, a action precisa existir e ser compativel com o metodo > > E por ai vai .. > Em 25/07/2012 11:48, "Waldson Patricio" <[email protected]> > escreveu: > > Você acha que com funções anonimas fica mais simples? >> >> Posso criar e usar 4 rotas para as operações de toda minha api (se for só >> o CRUD) >> >> Route::rest_set(HTTP_REQUEST::GET, 'list', >> 'api/<controller>')->defaults(array('action' => 'list')); >> Route::rest_set(HTTP_REQUEST::PUT, 'list', >> 'api/<controller>')->defaults(array('action' => 'add')); >> ... >> >> Achei simples. >> >> >> 2012/7/25 felipe bastos <[email protected]> >> >>> Muito complicado criar uma rota para cada funcionalidade .. >>> >>> Tenta utilizando funcoes anonimas como segundo/terceiro parametro da >>> route::set .. pode ser uma alternativa mais viavel .. >>> >>> Route::set(nome, controller/id, function(){})-default(); >>> >>> Na function trata accept, format, etc .. seria legal ter um >>> Controller_Rest com um render() mais propriado .. >>> >>> So nao tenho como tentar agora (so daqui a 15 dias kkk), se conseguirem >>> .. posta ai >>> Em 25/07/2012 11:23, "Waldson Patricio" <[email protected]> >>> escreveu: >>> >>> Olhem ai: http://pastebin.com/dGdybYsT <http://pastebin.com/vLpkq3Uj> >>>> >>>> Uso: >>>> >>>> Colocar essa classe em um modulo ou no application e na definição de >>>> rotas: >>>> >>>> Route::rest_set(HTTP_Request::GET, 'rest_products_list', >>>> 'api/products') >>>> ->defaults(array( >>>> 'action' => 'list', >>>> 'controller' => 'products' >>>> )); >>>> >>>> Route::rest_set(HTTP_Request::PUT, 'rest_products_add', 'api/products') >>>> ->defaults(array( >>>> 'action' => 'add', >>>> 'controller' => 'products' >>>> )); >>>> >>>> No controller products criar os métodos: action_get_list, >>>> action_put_add para gerenciar as requisições. Se não quiserem o prefixo do >>>> método (put, get, post e delete) é só remover o método defaults. >>>> >>>> >>>> 2012/7/25 felipe bastos <[email protected]> >>>> >>>>> Vejam o respect/rest respect/relational e outros modulos do respect .. >>>>> >>>>> Ta sendo construido pelo alexandre gaigalas do phpbr >>>>> >>>>> E o controller pode vir como objeto >>>>> >>>>> App-get("rota", "NomeController"); >>>>> >>>>> Por modulo, tlvz de pra integrar .. (respect/slim e outros) >>>>> Em 25/07/2012 09:53, "felipe bastos" <[email protected]> escreveu: >>>>> >>>>> Sao os micro ou nano frameworks php .. >>>>>> >>>>>> Tem varios nesse estilo .. um deles, feito pela galera do symfony .. >>>>>> da pra usar os mesmos componentes do symfony nele .. >>>>>> >>>>>> Eu criei em ko puro pq quero q a propria aplicacao funcione como api >>>>>> .. e, toda a aplicacao roda via ajax .. >>>>>> >>>>>> Mas nada impede de criar outra aplicacao com slim so para api >>>>>> Em 25/07/2012 09:45, "Waldson Patricio" <[email protected]> >>>>>> escreveu: >>>>>> >>>>>>> Foi justamente isso que pensei. Estender o Route (RestRoute) e >>>>>>> implementar esses métodos e usar a interface do Kohana mesmo: >>>>>>> >>>>>>> RestRoute::get('rota_id', 'api/products/<id>')->.... >>>>>>> RestRoute::post('rota_id', 'api/products/<id>')->.... >>>>>>> RestRoute::put('rota_id', 'api/products/<id>')->.... >>>>>>> RestRoute::delete('rota_id', 'api/products/<id>')->.... >>>>>>> >>>>>>> e a função do controller (Que também terá um RestController) fazer >>>>>>> as actions com prefixo do método: >>>>>>> >>>>>>> function action_get_products >>>>>>> >>>>>>> function action_put_products >>>>>>> >>>>>>> >>>>>>> 2012/7/25 jose antoniel de lima Lima <[email protected]> >>>>>>> >>>>>>>> Tenho lindo sobre backbone js achei muito entereçante esse >>>>>>>> framework agora achei esse Slim PHP e possivel configurar as rotas com >>>>>>>> ele >>>>>>>> da seguinte maneira, achei bacana esse Slim talvez de para fazer algo >>>>>>>> com >>>>>>>> as rotas do kohana aclopado do Slim, algo do tipo: >>>>>>>> >>>>>>>> Route::set('slim', array('Slim', 'route')); >>>>>>>> >>>>>>>> ai na função do Slim que executa a rota posso fazer retorna uma >>>>>>>> rota com controller, action e id para que o kohana execute a ação, >>>>>>>> acho que >>>>>>>> isso pode funcionar, vou ver quando iniciar o projeto e posto aki. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> //GET route >>>>>>>> $app->get('/hello/:name', function ($name) { >>>>>>>> echo "Hello, $name"; >>>>>>>> }); >>>>>>>> >>>>>>>> //POST route >>>>>>>> $app->post('/person', function () { >>>>>>>> //Create new Person >>>>>>>> }); >>>>>>>> >>>>>>>> //PUT route >>>>>>>> $app->put('/person/:id', function ($id) { >>>>>>>> //Update Person identified by $id >>>>>>>> }); >>>>>>>> >>>>>>>> //DELETE route >>>>>>>> $app->delete('/person/:id', function ($id) { >>>>>>>> //Delete Person identified by $id >>>>>>>> }); >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Atenciosamente, >>>>>>>> José Antoniel de Lima >>>>>>>> Analista de Sistemas PHP5 >>>>>>>> >>>>>>>> -- >>>>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo >>>>>>>> "Kohana Php" dos Grupos do Google. >>>>>>>> Para postar neste grupo, envie um e-mail para >>>>>>>> [email protected]. >>>>>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>>>>>>> [email protected]. >>>>>>>> Para obter mais opções, visite esse grupo em >>>>>>>> http://groups.google.com/group/kohana-php?hl=pt-BR. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo >>>>>>> "Kohana Php" dos Grupos do Google. >>>>>>> Para postar neste grupo, envie um e-mail para >>>>>>> [email protected]. >>>>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>>>>>> [email protected]. >>>>>>> Para obter mais opções, visite esse grupo em >>>>>>> http://groups.google.com/group/kohana-php?hl=pt-BR. >>>>>>> >>>>>> -- >>>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >>>>> Php" dos Grupos do Google. >>>>> Para postar neste grupo, envie um e-mail para >>>>> [email protected]. >>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>>>> [email protected]. >>>>> Para obter mais opções, visite esse grupo em >>>>> http://groups.google.com/group/kohana-php?hl=pt-BR. >>>>> >>>> >>>> -- >>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >>>> Php" dos Grupos do Google. >>>> Para postar neste grupo, envie um e-mail para >>>> [email protected]. >>>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>>> [email protected]. >>>> Para obter mais opções, visite esse grupo em >>>> http://groups.google.com/group/kohana-php?hl=pt-BR. >>>> >>> -- >>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >>> Php" dos Grupos do Google. >>> Para postar neste grupo, envie um e-mail para >>> [email protected]. >>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>> [email protected]. >>> Para obter mais opções, visite esse grupo em >>> http://groups.google.com/group/kohana-php?hl=pt-BR. >>> >> >> -- >> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >> Php" dos Grupos do Google. >> Para postar neste grupo, envie um e-mail para [email protected] >> . >> Para cancelar a inscrição nesse grupo, envie um e-mail para >> [email protected]. >> Para obter mais opções, visite esse grupo em >> http://groups.google.com/group/kohana-php?hl=pt-BR. >> > -- > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana > Php" dos Grupos do Google. > Para postar neste grupo, envie um e-mail para [email protected]. > Para cancelar a inscrição nesse grupo, envie um e-mail para > [email protected]. > Para obter mais opções, visite esse grupo em > http://groups.google.com/group/kohana-php?hl=pt-BR. > -- Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos Grupos do Google. Para postar neste grupo, envie um e-mail para [email protected]. Para cancelar a inscrição nesse grupo, envie um e-mail para [email protected]. Para obter mais opções, visite esse grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.
