Glad I could help :-)

On Oct 16, 2008, at 7:07 AM, Marijn Huizendveld wrote:

> Hi Kris,
>
> After reading your post I was immediately convinced. I just never  
> realized that I already separate my controller into get, put, post  
> and delete with the layout of the actions, guess I was to focussed  
> on the 3 lines of code that it would remove:-)
>
> Unless somebody can come up with a decent argument for my proposal  
> discard it.
>
> Marijn
>
> On Oct 16, 2008, at 4:01 PM, Kris Wallsmith wrote:
>
>> I structured my sf1.0 actions in this way, suffixing my execute  
>> methods with either Get or Post. I found this worked very nicely  
>> with the 1.0 post-back pattern and validation system.
>>
>> I'm working with 1.2 now and have moved away from post-backs and  
>> multi-purpose actions. My RESTful routes now target specific  
>> actions, ie GET -> business/show, POST -> business/create, PUT ->  
>> business/update, DELETE -> business/delete.
>>
>> Using different actions for different methods is easy to configure  
>> in routing.yml and keeps the controller nice and thin, which seems  
>> to be what you're going for here.
>>
>> -1
>>
>> Kris
>>
>> On Oct 16, 2008, at 3:22 AM, Marijn Huizendveld <[EMAIL PROTECTED] 
>> > wrote:
>>
>>> Hi everybody,
>>>
>>> Last week I was thinking about the way sfActions and sfAction work  
>>> in relation to the new options for creating RESTful controllers  
>>> with symfony 1.2.
>>>
>>> I would like to propose the following API for sfActions to remove  
>>> some redundant code in my sfAction sub-classes:
>>>
>>> Currently if you want to ensure that the controller is only  
>>> processed given a certain HTTP method you use:
>>>
>>> class BlogPostActions extends sfActions
>>> {
>>>
>>>   //...
>>>
>>>   public function executeUpdate ($Request)
>>>   {
>>>     if ($Request->isMethod('post'))
>>>     {
>>>       //POST action here..
>>>     }
>>>     elseif ($Request->isMethod('put'))
>>>     {
>>>       //PUT action here..
>>>     }
>>>     elseif ($Request->isMethod('get'))
>>>     {
>>>       //GET action here..
>>>     }
>>>   }
>>>
>>>   //...
>>>
>>> }
>>>
>>> I think that it would be great if we could just create different  
>>> controllers for each type with backwards compatibility like this:
>>>
>>> class BlogPostActions extends sfActions
>>> {
>>>
>>>   //...
>>>
>>>   public function executeUpdatePost ($Request)
>>>   {
>>>     //POST action here..
>>>   }
>>>
>>>   public function executeUpdateGet ($Request)
>>>   {
>>>     //GET action here..
>>>   }
>>>
>>>   public function executeUpdatePut ($Request)
>>>   {
>>>     //PUT action here..
>>>   }
>>>
>>>   public function executeEdit ($Request)
>>>   {
>>>     //and it is backwards compatible
>>>   }
>>>
>>>   //...
>>>
>>> }
>>>
>>> Especially with the new Form Framework this can save some lines of  
>>> code and perhaps make it more readable as well (I think  
>>> readability is a personal preference..).
>>>
>>> To implement this I've allready created a new version of the  
>>> method sfActions::execute() that dispatches the request to the  
>>> right controller. Unfortunately this is not sufficient for  
>>> implementing the behavior, sfController::controllerExistst() needs  
>>> to be altered as well. Hopefully I have some time next week to  
>>> finish that method as well.
>>>
>>> I will certainly use it myself but I was wondering if I should  
>>> propose this as a behavior for symfony 1.2...
>>>
>>> What do you guys think?
>>>
>>> Marijn
>>>
>>>
>>
>>
>>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/symfony-devs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to