在 laravel 5 中使用 blade 模板时遇到问题
Trouble with blade templating in laravel 5
我试图理解 laravel 的基本 blade 模板引擎,但我似乎无法通过一个基本示例。我的 blade 模板没有加载。它只显示白屏,但是当我将 hello.blade.php 删除到 hello.php 时它起作用了。有什么建议吗?
Routes.php
Route::get('/', 'PagesController@home');
PagesController.php
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class PagesController extends Controller {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function home()
{
return Views('hello');
}
}
hello.blade.php
<html>
<head>
<title>Hello World</title>
</head>
<body>
<div class="container">
<div class="content">
<div class="title">Starting to learn Laravel 5</div>
</div>
</div>
</body>
</html>
没有 Views
助手。它被称为 view
:
return view('hello');
嗯,我也有同样的 "white screen problem"。 laravel 中的 blade 文档非常混乱。然后,试试这个:
创建布局,假设 template.blade.php
:
<html>
<head>
<title>Hello World</title>
</head>
<body>
<div class="container">
<div class="content">
<div class="title">Starting to learn Laravel 5</div>
@yield('view_content')
</div>
</div>
</body>
创建一个要包装到模板中的简单视图,比方说 hello.blade.php
:
@extends('template')
@section('view_content')
This is my view content
@stop
现在,在您的控制器中只需调用视图而不是布局:
public function home(){
return view('hello');
}
无论扩展名如何,我都不确定它是如何工作的,因为在您的控制器中语法不正确。您 return 视图不是视图... return view('hello')
。从技术上讲,您应该看到如下内容:
FatalErrorException in PagesController.php line 18:
Call to undefined function App\Http\Controllers\Views()
即使 app_debug 为假,您也应该看到 Whoops, looks like something went wrong.
当我打错字时得到了这个:
return views('abc');
而不是
return view('abc');
额外的 s
正在扼杀一切。
我试图理解 laravel 的基本 blade 模板引擎,但我似乎无法通过一个基本示例。我的 blade 模板没有加载。它只显示白屏,但是当我将 hello.blade.php 删除到 hello.php 时它起作用了。有什么建议吗?
Routes.php
Route::get('/', 'PagesController@home');
PagesController.php
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class PagesController extends Controller {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function home()
{
return Views('hello');
}
}
hello.blade.php
<html>
<head>
<title>Hello World</title>
</head>
<body>
<div class="container">
<div class="content">
<div class="title">Starting to learn Laravel 5</div>
</div>
</div>
</body>
</html>
没有 Views
助手。它被称为 view
:
return view('hello');
嗯,我也有同样的 "white screen problem"。 laravel 中的 blade 文档非常混乱。然后,试试这个:
创建布局,假设
template.blade.php
:<html> <head> <title>Hello World</title> </head> <body> <div class="container"> <div class="content"> <div class="title">Starting to learn Laravel 5</div> @yield('view_content') </div> </div> </body>
创建一个要包装到模板中的简单视图,比方说
hello.blade.php
:@extends('template') @section('view_content') This is my view content @stop
现在,在您的控制器中只需调用视图而不是布局:
public function home(){
return view('hello');
}
无论扩展名如何,我都不确定它是如何工作的,因为在您的控制器中语法不正确。您 return 视图不是视图... return view('hello')
。从技术上讲,您应该看到如下内容:
FatalErrorException in PagesController.php line 18:
Call to undefined function App\Http\Controllers\Views()
即使 app_debug 为假,您也应该看到 Whoops, looks like something went wrong.
当我打错字时得到了这个:
return views('abc');
而不是
return view('abc');
额外的 s
正在扼杀一切。