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