Commit 88e61433 authored by Taylor Otwell's avatar Taylor Otwell

made controllers restful by default.

parent 16a62193
...@@ -10,31 +10,35 @@ class Home_Controller extends Controller { ...@@ -10,31 +10,35 @@ class Home_Controller extends Controller {
| Instead of using RESTful routes and anonymous functions, you may wish to | Instead of using RESTful routes and anonymous functions, you may wish to
| use controllers to organize your application API. You'll love them. | use controllers to organize your application API. You'll love them.
| |
| To start using this controller, simple remove the default route from the | To start using this controller, simply remove the default route from the
| application "routes.php" file. Laravel is smart enough to find this | application "routes.php" file. Laravel is smart enough to find this
| controller and call the default method, which is "index". | controller and call the default method, which is "get_index".
|
| Just like routes, controllers are also RESTful by default. Each function
| is prefixed with the HTTP verb it responds to, allowing you to quickly
| build beautiful RESTful applications.
| |
| This controller responds to URIs beginning with "home", and it also | This controller responds to URIs beginning with "home", and it also
| serves as the default controller for the application, meaning it | serves as the default controller for the application, meaning it
| handles requests to the root of the application. | handles requests to the root of the application.
| |
| You can respond to requests to "/home/profile" like so: | You can respond to GET requests to "/home/profile" like so:
| |
| public function profile() | public function get_profile()
| { | {
| return "This is your profile!"; | return "This is your profile!";
| } | }
| |
| Any extra segments are passed to the method as parameters: | Any extra segments are passed to the method as parameters:
| |
| public function profile($id) | public function get_profile($id)
| { | {
| return "This is the profile for user {$id}."; | return "This is the profile for user {$id}.";
| } | }
| |
*/ */
public function index() public function get_index()
{ {
return View::make('home.index'); return View::make('home.index');
} }
......
<?php namespace Laravel\Routing; <?php namespace Laravel\Routing;
use Laravel\IoC; use Laravel\IoC;
use Laravel\Request;
use Laravel\Response; use Laravel\Response;
abstract class Controller { abstract class Controller {
...@@ -118,7 +119,9 @@ abstract class Controller { ...@@ -118,7 +119,9 @@ abstract class Controller {
if (is_null($response)) if (is_null($response))
{ {
$response = call_user_func_array(array($this, $method), $parameters); $verb = strtolower(Request::method());
$response = call_user_func_array(array($this, "{$verb}_{$method}"), $parameters);
} }
// The after filter and the framework expects all responses to // The after filter and the framework expects all responses to
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment