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;
- }
- }
- }
|