1

我是 laravel 的新手,想学习 BLADE,但有一个问题让我很震惊。我有一个

index.blade.php

@layout('master')

我也有一个

master.blade.php
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Laravel: A Framework For Web Artisans</title>
<meta name="viewport" content="width=device-width">

</head>
<body>
hi from body
</body>
</html>

问题是,当我尝试调用 index.blade.php 时,它会给我一个错误提示

Unhandled Exception
Message:

View [master] doesn't exist.

Location:

C:\xampp\htdocs\laravel-laravel2\laravel\view.php on line 170

Stack Trace:

#0 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(107): Laravel\View->path('master')
#1 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(218): Laravel\View-                                >__construct('master', Array)
#2 C:\xampp\htdocs\laravel-laravel2\laravel\helpers.php(526): Laravel\View::make('master', Array)
#3 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(386) : eval()'d code(2): view('master')
#4 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(386): eval()
#5 C:\xampp\htdocs\laravel-laravel2\laravel\blade.php(71): Laravel\View->get()
#6 [internal function]: Laravel\Blade::Laravel\{closure}(Object(Laravel\View))
#7 C:\xampp\htdocs\laravel-laravel2\laravel\event.php(199): call_user_func_array(Object(Closure), Array)
#8 C:\xampp\htdocs\laravel-laravel2\laravel\event.php(138): Laravel\Event::fire('laravel.view.en...', Array, true)
#9 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(348): Laravel\Event::until('laravel.view.en...', Array)
#10 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(590): Laravel\View->render()
#11 C:\xampp\htdocs\laravel-laravel2\laravel\response.php(268): Laravel\View->__toString()
#12 C:\xampp\htdocs\laravel-laravel2\laravel\laravel.php(180): Laravel\Response->render()
#13 C:\xampp\htdocs\laravel-laravel2\public\index.php(34): require('C:\xampp\htdocs...')
#14 {main}
4

2 回答 2

5

我有同样的问题。这可能是您的错误,也可能取决于您的环境。无论哪种方式,请尝试以下三件事:

  • 放在@layout('master')你的 php 文件的顶部 - 没有空格。

  • 确保您的主视图标记为 master.blade.php - 没有大写字母。

  • 确保 master.blade.php 在 application/views

注意:如果您的主视图位于不同的文件夹中,例如 application/views/some_folder 正确的调用方式是@layout('some_folder.master')

于 2013-01-23T09:18:31.317 回答
0

使用@extends('master') 而不是@layout('master')

于 2016-01-06T14:19:46.357 回答