我已经在BaseController.php
中设置了:
public $restful = true;
,然后在我的UserIndex控制器(当然要扩展基本控制器)中,我以这种方式编写了这些方法:
class Userindex extends BaseController
{
protected $layout = "main";
public function getIndex ()
{
// $data['header'] = View::make('header');
$this->layout = View::make("user.index")
->with("title","SHOT :: Welcome to SHOT Website. Read About Us to know us more.");
}
function getRegister ()
{
// $data['header'] = View::make('header');
$this->layout = View::make("user.register")
->with("title","SHOT :: Registration");
}
}
但是,每当我访问URL用户/注册时,它会引发错误的错误。索引方法也会发生这种情况。如果我从它们中删除get
前缀,则它们只是出现。有人可以告诉什么问题?
这也是我用来访问它们的路线:
/**
* View::register
*/
Route::get("user/register", array("as"=>"register", 'uses'=>"userindex@register") );
/**
* View::index(or home page)
*/
Route::get("user/index", array("as"=>"user_index", 'uses'=>"userindex@index") );
您正在做它,您正在遇到寄存器错误,因为您不通过布局显示要显示的内容,而您使用werng的路线
示例。
创建一个名为main的布局文件,看起来像
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>{{ $title }}</title>
</head>
<body>
{{ $content }}
</body>
</html>
您的基本控制器
class BaseController extends Controller {
$layout = 'main';
/**
* Setup the layout used by the controller.
*
* @return void
*/
protected function setupLayout()
{
if ( ! is_null($this->layout))
{
$this->layout = View::make($this->layout);
}
}
}
现在您已经进行了布局设置,而Socond问题是您的路线,示例
Route::get("user/register", array("as"=>"register", 'uses'=>"userindex@register") )
此部分userindex@register
是完全错误的,您需要指向控制器和Actuall方法
所以它必须看起来像这个
创建一个用户控制器UserController.php
包含以下
<?php
class UserController extends BaseController {
public function register()
{
$this->layout->title = "SHOT :: Registration";
$this->layout->content = View::make("user.register");
}
}
您的路线将需要以下内容,URL将指向的内容,控制器名称和控制器方法。
因此,如果您需要寄存器路线,则需要以下
Route::get('register', 'UserController@register');
现在,如果您浏览浏览器以注册它将起作用。
注意:在我上方向您展示的布局中,您需要传递显示
的内容 SO $this->layout->title
在控制器中包含布局标题,"布局"中的标题变量,在$this->layout->content
中,您存储了实际视图,在布局中称为$content
变量。
希望我能够帮助
您实际在寻找
的寄存器功能/方法route :: get("用户/寄存器",array(" as" =>" register",'use =>" userIndex@register"));
不存在。应该是
路由:: get("用户/寄存器",array(" as" =>" register",'use =>" userIndex@getregister"));
和
route :: get(" user/index",array(" as" =>" user_index",'use =>" userIndex@getindex"));