开发者

PHP: MVC and DRY

开发者 https://www.devze.com 2022-12-29 18:31 出处:网络
Question about controllers. Can controller call it`s own class metho开发者_开发技巧ds inside an action?

Question about controllers. Can controller call it`s own class metho开发者_开发技巧ds inside an action?

EDIT: Oh sorry. I meant I dont want to repeat myself. :)


Unless you are using some obscure framework preventing this somehow, you should be able to call methods from within a class/instance, regardless of the class/instance being a Controller or something else.

If you find yourself writing code that needs to be reused across multiple controllers, you could consider writing a BaseController and move common functionality into this one or -better imho- separate common functionality into helper classes, which you can then instantiate and call on demand. Basically, if you need something in all controllers, move it to a BaseController. If you need it in some controllers, make it a helper. If you only need it in one specific controller, keep it there.


Why not?

It's all up to you, but I really don't see the reason to avoid DRY ( LOL ). The sense of MVC is to have separated controller / model / view, nothing else :)

EDIT: Still yes, controller can call it's own methods inside of actions. Good practice would be to give action methods names like action_something or something_action, and have a 'base' controller which you'd extend later. Like;

Controller
Controller_Application extends Controller
Controller_Layout extends Controller_Application

where the first one would be some kind of 'abstraction' (framework-oriented) and others would take care of application logics. So later you'd have ...

Controller_Forum extends Controller_Layout
Controller_News extends Controller_Layout
Controller_Ajax extends Controller_Application

depending on what you want to use certain controller for.

It's all up to you; you can put your own methods where ever you want to and call them from where ever you want to :)

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号