两个连续的大写 REST 控制器 laravel
two consecutive uppercase REST controller laravel
大家好我希望有人能帮助我,我正在使用 laravel 4 并且我有一个像这样的 REST 控制器
Route::controller('example', 'SomeClass');
class SomeClass extends BaseController {
public function getThisIsATest() {
return 'Hello World';
}
}
但是当我尝试输入 URI 时 localhost/example/this-is-a-test
我得到一个'Controller method not found.'
我想是因为'getThisIsATest'
中两个连续的大写字母
有人知道如何解决这个问题吗??
试试这个:
Route::resource('example/this-is-a-test', 'SomeClassController@getThisIsATest');
或:
Route::get('example/this-is-a-test', 'SomeClassController@getThisIsATest');
看看,如果这能解决您的问题 & 请访问 Laravel Controller Docs 了解更多信息
添加 {{ URL::to('example/this-is-a-test'); }}
就可以了
在您的 app/routes.php
中尝试按如下方式定义您的路线:
Route::controller("example", "testController");
并将您的控制器 class 重命名为
class testController extends BaseController {
public function index(){
// Just have it here to be safe.
}
public function getTest() {
return 'Hello World';
}
}
现在尝试导航至 localhost/example/test
。让我知道这是否有效,我以前从未使用过 Route::controller()
,所以它对我来说也是新的。
编辑
由于以上不适用于此示例,请尝试在不更改 controller/route.
的情况下导航至 localhost/example/this-is-atest
两种方式(不改变URL)...
1。使用其他路线
在控制器路由之前为URL添加隐式路由:
Route::get('example/this-is-a-test', 'SomeClass@getThisIsATest');
Route::controller('example', 'SomeClass');
2。将您的方法名称更改为 snake_case
您可以将控制器中的方法名称更改为 snake case,一切都会正常运行。 (虽然看起来不是很漂亮)
public function get_this_is_a_test() {
return 'Hello World';
}
实际上它甚至可以只写 "problematic" 蛇形的部分:getThisIsA_test
。然而,这看起来更奇怪 ;)
大家好我希望有人能帮助我,我正在使用 laravel 4 并且我有一个像这样的 REST 控制器
Route::controller('example', 'SomeClass');
class SomeClass extends BaseController {
public function getThisIsATest() {
return 'Hello World';
}
}
但是当我尝试输入 URI 时 localhost/example/this-is-a-test
我得到一个'Controller method not found.'
我想是因为'getThisIsATest'
中两个连续的大写字母有人知道如何解决这个问题吗??
试试这个:
Route::resource('example/this-is-a-test', 'SomeClassController@getThisIsATest');
或:
Route::get('example/this-is-a-test', 'SomeClassController@getThisIsATest');
看看,如果这能解决您的问题 & 请访问 Laravel Controller Docs 了解更多信息
添加 {{ URL::to('example/this-is-a-test'); }}
就可以了
在您的 app/routes.php
中尝试按如下方式定义您的路线:
Route::controller("example", "testController");
并将您的控制器 class 重命名为
class testController extends BaseController {
public function index(){
// Just have it here to be safe.
}
public function getTest() {
return 'Hello World';
}
}
现在尝试导航至 localhost/example/test
。让我知道这是否有效,我以前从未使用过 Route::controller()
,所以它对我来说也是新的。
编辑
由于以上不适用于此示例,请尝试在不更改 controller/route.
的情况下导航至localhost/example/this-is-atest
两种方式(不改变URL)...
1。使用其他路线
在控制器路由之前为URL添加隐式路由:
Route::get('example/this-is-a-test', 'SomeClass@getThisIsATest');
Route::controller('example', 'SomeClass');
2。将您的方法名称更改为 snake_case
您可以将控制器中的方法名称更改为 snake case,一切都会正常运行。 (虽然看起来不是很漂亮)
public function get_this_is_a_test() {
return 'Hello World';
}
实际上它甚至可以只写 "problematic" 蛇形的部分:getThisIsA_test
。然而,这看起来更奇怪 ;)