Php 路由和控制器
我对拉雷维尔不熟悉,只是试了一些例子。这是:Php 路由和控制器,php,laravel,laravel-4,Php,Laravel,Laravel 4,我对拉雷维尔不熟悉,只是试了一些例子。这是: laravel master\app\controllers\account.php- class AccountController extends BaseController { public function action_index() { echo "This is the profile page."; } public function action_login() {
laravel master\app\controllers\account.php-
class AccountController extends BaseController
{
public function action_index()
{
echo "This is the profile page.";
}
public function action_login()
{
echo "This is the login form.";
}
public function action_logout()
{
echo "This is the logout action.";
}
}
然后我在-laravel master\app\routes.php添加了一行
Route::controller('account');
那么我什么时候去主页呢
- 我的项目/帐户/登录信息应显示
“这是登录表单。”李>
但它的表现
在第177行的C:\Program Files\Zend\Apache2\htdocs\laravel master\vendor\laravel\framework\src\Illumb\Support\Facades\Facade.php中调用并定义的Illumb\Routing\Router::controller()缺少参数2
不知道是什么问题。我哪里错了吗?不是Laravel专家,但我认为您的路由::控制器
缺少路由目的地的参数,您应该使用控制器类的全名。试一试
Route::controller('account', 'AccountController')
我也不确定操作
s。如果我理解正确,它们必须以HTTP动词作为前缀,例如
public function getIndex()
而不是
public function action_index()
不是Laravel专家,但我认为您的Route::controller
缺少路由目的地的参数,您应该使用controller类的全名。试一试
Route::controller('account', 'AccountController')
我也不确定操作
s。如果我理解正确,它们必须以HTTP动词作为前缀,例如
public function getIndex()
而不是
public function action_index()
将控制器文件的名称更改为:
laravel-master\app\controllers\AccountController.php
将管线定义更改为:
Route::controller('account', 'AccountController');
将控制器方法更改为:
class AccountController extends BaseController
{
public function getIndex()
{
echo "This is the profile page.";
}
public function getLogin()
{
echo "This is the login form.";
}
public function getLogout()
{
echo "This is the logout action.";
}
}
将控制器文件的名称更改为:
laravel-master\app\controllers\AccountController.php
将管线定义更改为:
Route::controller('account', 'AccountController');
将控制器方法更改为:
class AccountController extends BaseController
{
public function getIndex()
{
echo "This is the profile page.";
}
public function getLogin()
{
echo "This is the login form.";
}
public function getLogout()
{
echo "This is the logout action.";
}
}
是的,正如您所写,我已经更改了这些内容,但现在它的显示——“ReflectionException.Class AccountController不存在”。是的,正如您所写,我已经更改了这些内容,但现在它的显示——“ReflectionException.Class AccountController不存在”。是的,它正在工作,在我将名称从account.php更改为AccountController.php之后。但我什么都不懂。我尝试了myproject/account/登录它的显示结果页面。但我尝试了我的项目/帐户/登录。它显示“Symfony\Component\HttpKernel\Exception\NotFoundHttpException.Controller method not found.”然后我再次更改了函数名以获取\索引()、获取\登录、获取\注销()。当我转到myproject/account/login时,它会显示结果。那么,当我将字母改为大写时,为什么会显示错误,例如-getIndex、getLogin、getLogout、get_Index、get_login、get_logout?同样/account/login、/account/Index、/account/logout都不起作用。但是/account/login、/account/logout、/account/index起作用。当使用控制器路由时,Laravel 4允许您使用get_login或getLogin,两者都可以通过account/login访问,但不能通过account/login、account/login等访问。。换句话说,区分大小写设置此错误!!!找不到Symfony\Component\Debug\Exception\FatalErrorException类'Base\u Controller'help@SebinSimon检查基本控制器类的名称。在L4中,这将是BaseController,而不是BaseController。最后,如果您的控制器位于不同的名称空间中,则需要相应地更改名称。是的,在我将名称从account.php更改为AccountController.php之后,它正在工作。但我什么都不懂。我尝试了myproject/account/登录它的显示结果页面。但我尝试了我的项目/帐户/登录。它显示“Symfony\Component\HttpKernel\Exception\NotFoundHttpException.Controller method not found.”然后我再次更改了函数名以获取\索引()、获取\登录、获取\注销()。当我转到myproject/account/login时,它会显示结果。那么,当我将字母改为大写时,为什么会显示错误,例如-getIndex、getLogin、getLogout、get_Index、get_login、get_logout?同样/account/login、/account/Index、/account/logout都不起作用。但是/account/login、/account/logout、/account/index起作用。当使用控制器路由时,Laravel 4允许您使用get_login或getLogin,两者都可以通过account/login访问,但不能通过account/login、account/login等访问。。换句话说,区分大小写设置此错误!!!找不到Symfony\Component\Debug\Exception\FatalErrorException类'Base\u Controller'help@SebinSimon检查基本控制器类的名称。在L4中,这将是BaseController,而不是BaseController。最后,如果控制器位于不同的命名空间中,则需要相应地更改名称。