| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | <?php/** * @class ApplicationController */class ApplicationController {    public $request, $id, $params;    /**     * dispatch     * Dispatch request to appropriate controller-action by convention according to the HTTP method.     */    public function dispatch($request) {        $this->request = $request;        $this->id = $request->id;        $this->params = $request->params;        if ($request->isRestful()) {            return $this->dispatchRestful();        }        if ($request->action) {            return $this->{$request->action}();        }        // normal dispatch here.  discover action    }    protected function dispatchRestful() {        switch ($this->request->method) {            case 'GET':                return $this->view();                break;            case 'POST':                return $this->create();                break;            case 'PUT':                return $this->update();                break;            case 'DELETE':                return $this->destroy();                break;        }    }}
 |