Revath S Kumar: PHP : Service classes

Revath S Kumar has a post to his site that wants to help get you started writing service classes for your application. Service classes are useful when interacting with multiple pieces of data that need either interaction or correlation.

When I started with MVC in PHP, I used to write the whole logic in controller, then when I learned about skinny controllers fat models I reduced the code in controller and moved logic into models. But that was not enough. […] In order to make this more convenient and reusable I thought of abstracting the logic for creating the order into service classes. I got this idea of service classes from Ruby on Rails. So when I came back to PHP world I thought of using service classes.

He uses examples of service classes he’s written for a Yii framework based application, showing a before and after example of his "Orders" controller. He moves most of the logic from the controller (less reusable) into a service class that creates the order record based on the data its been provided. He uses exceptions to handle validation errors, making it simpler in the controller to catch multiple exception types in one place.

Schreibe einen Kommentar