E lembrando ..

Uma requisicao normal e uma rest sao identicas ..

REST é apenas conceitual .. nao da pra diferenciar pelo method ..

O que pode fazer .. é tratar nos controllers algumas variaveis .. method,
accept, formato de retorno, etc de forma mais amigavel.
Em 25/07/2012 11:43, "felipe bastos" <[email protected]> escreveu:

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

Responder a