The documentation currently shows RESTful and Resource controllers to refer to the same thing.
Route::resource('resource', 'ResourceController');
It defines the routes for the following http request verbs mapped to the URI, controller action, and route. This allows you to use the predefined route names to connect to predefined controller actions and will map resource_id to {resource} as shown.
Verb URI Action Route Name
GET /resource/index.blade.php index resource
GET /resource/create.blade.php create resource.create
POST /resource store resource.store
GET /resource/{resource}/show.blade.php show resource.show
GET /resource/{resource}/edit.blade.php edit resource.edit
PUT/PATCH update resource.update
DELETE destroy resource.destroy
The term Implicit Controller seems to be the term to specify the use of
Route::controller('resource', 'ResourceController');
which will magically connect all routes to to ResourceController so that the http request verb (get/post) is prefixed in the function name used in the controller. This maps any URI to the controller action (function) with (get/put) in front but does not map resource_id to {resource} or route names.
class UserController extends BaseController {
public function getIndex()
{
//
}
public function postProfile()
{
//
}
public function anyLogin()
{
//
}
}
maps to
Verb URI Action Route Name
GET /index getIndex
POST /profile postProfile
GET /login anyLogin
POST /login anyLogin
DELETE /login anyLogin
It's up to you to decide which method to use if any for routing. There is some debate as to what is useful and if routing is even worth the confusion it can cause.