我是新手使用Laravel&需要帮助。当我想要使用雄辩时,为什么我的网页浏览器中会出现白色空白屏幕。下面的代码(对不起,很长的帖子,我想说清楚):
UserController.php(控制器)
<?php
class UserController extends \BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index() //GET
{
//
$users = User::all();
//$users->toarray();
return View::make('users.index', compact('users'));
}
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create()//GET
{
//
}
/**
* Store a newly created resource in storage.
*
* @return Response
*/
public function store()//POST
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/
public function show($id)//GET
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return Response
*/
public function edit($id)//GET
{
//
}
/**
* Update the specified resource in storage.
*
* @param int $id
* @return Response
*/
public function update($id)//PUT
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return Response
*/
public function destroy($id)//DELETE
{
//
}
}
user.php的(模型)
<?php
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
class User extends Eloquent implements UserInterface, RemindableInterface {
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'users';
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = array('password');
/**
* Get the unique identifier for the user.
*
* @return mixed
*/
public function getRememberToken()
{
return $this->remember_token;
}
public function setRememberToken($value)
{
$this->remember_token = $value;
}
public function getRememberTokenName()
{
return 'remember_token';
}
public function getAuthIdentifier()
{
return $this->getKey();
}
/**
* Get the password for the user.
*
* @return string
*/
public function getAuthPassword()
{
return $this->password;
}
/**
* Get the e-mail address where password reminders are sent.
*
* @return string
*/
public function getReminderEmail()
{
return $this->email;
}
}
Index.blade.php(查看)
@section('main')
<h1>All Users</h1>
<p>{{ link_to_route('users.create', 'Add new user') }}</p>
@if ($users->count())
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Username</th>
<th>Password</th>
<th>Email</th>
<th>Phone</th>
<th>Name</th>
</tr>
</thead>
<tbody>
@foreach ($users as $user)
<tr>
<td>{{ $user->username }}</td>
<td>{{ $user->password }}</td>
<td>{{ $user->email }}</td>
<td>{{ $user->phone }}</td>
<td>{{ $user->name }}</td>
<td>{{ link_to_route('users.edit', 'Edit',
array($user->id), array('class' => 'btn btn-info')) }}</td>
<td>
{{ Form::open(array('method'
=> 'DELETE', 'route' => array('users.destroy', $user->id))) }}
{{ Form::submit('Delete', array('class'
=> 'btn btn-danger')) }}
{{ Form::close() }}
</td>
</tr>
@endforeach
</tbody>
</table>
@else
There are no users
@endif
@stop
答案 0 :(得分:0)
当您定义部分时,您可以告诉刀片如何以及何时显示它们,您可以使用@stop
,@show
,@overwrite
等结束指令来执行此操作。
@stop
表示您定义一个部分供以后使用(意思是不显示),因此可以使用或稍后被另一个覆盖。要使用存储的部分,您可以使用@yield('sectionName')
。
因此,如果您在每个页面中都有一个通用布局,例如,像页脚一样,您可以通过替换某些部分继续重复使用@extends('view')
:
{{--this is layout.blade.php--}}
@yield('content')
<div>My awesome footer</div>
你会像这样制作单独的观点:
{{--this is contact.blade.php--}}
@extends('layout')
@section('content')
<div>Contact me: someMail@dem.mails</div>
@stop
@yield
将负责“让步”(显示)您的部分。我们的想法是,您可以在不同时刻决定哪些部分包含和哪里展示。
如果您想@yield
您刚定义的部分,该怎么办?这就是@show
的用途。
Here是一个关于laravel的刀片模板的精彩在线书籍章节的链接,我发现它比官方文档更友好和深入。玩得开心,编码狂野。