I see, this makes sense to me. Wonder why CakePHP and Codeigniter name them appcontrollers rather than page controllers, perhaps thats just the way PHP frameworks work, their MVC is not the original definition of smalltalk MVC anyway.
I don't think either option is any more appropriate than the other, but keeping related actions as methods within a class comes with practical benefits.
Thats true, it is the approach I've been following for a while. I was wondering though, what would you do when your controller action method gets too big? Does this imply that an implementation of fat controller design, which is bad since the better way should be fat-model-thin-controller?
Also there is a small issue that at least 80% action method will check this if...else condition:
// business logic for execute form.
// business logic for display form.
Tbh I have no idea how to avoid this code duplication, although it may not be that bad considering even many large PHP frameworks are doing the same thing.