made controllers restful by default.
This commit is contained in:
parent
16a62193fc
commit
88e6143338
|
@ -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');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<?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 @@ public function execute($method, $parameters = array())
|
||||||
|
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue