所以当我最初把手放在Laravel上时,我正在转移Yii1。在Yii中,我们使用普通的PHP模板;我不介意,因为我真的很喜欢他们。
但是,当我了解Blade以及Laravel如何来回记录Blade并且几乎没有提到使用裸PHP模板时,我感到很恼火。
我汇总了一个项目,它只为我提供了一个PHP视图引擎。但就在几分钟前,我实际上看到了它:PhpEngine.php
。 Diggin更深,我面对;我不能只是去弃用我的项目,但我也可以去深入挖掘。
这太令人困惑了,所以我看起来没有回答过一小部分问题:
View::addNamespace()
时,我也可以view("foo::my.template")
,对吧?@extend
或其他东西,但我似乎无法找到原始PHP模板。答案 0 :(得分:0)
当我使用
view::addNamespace()
时,我也可以view("foo::my.template")
,对吗?
是。确实如此。通常,此格式适用于第三方软件包。例如,如果您考虑使用包,则将视图命名空间称为:
$this->loadViewsFrom(__DIR__.'/path/to/views', 'foo');
现在,您可以将视图调用为view('foo::whatever')
我如何实际使用布局/模板?就像在,我已经写了文档,我想在其中提供rmy视图。如何使用裸PHP视图执行此操作?在刀片中,我们得到@extend或者其他东西,但我似乎无法找到原始PHP模板。
我不明白I can not seem to find that for raw PHP templates
的含义。但是,让我向您展示一个使用刀片系统的示例:
创建布局文件:
// master.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>@yield('title')</title>
<head>
<body>
@yield('body')
</body>
</html>
如上所述,有两个&#34;部分&#34;他们的内容可以根据扩展此布局的每个视图进行更改:标题和正文。
扩展每个视图的布局
//contact.blade.php
@extends('master')
@section('title')
Contact us
@stop
@section('body')
<h1>Thank you for contact us</h1>
@stop
注意如何使用@section标记设置title
和body
。在每个内部,您可以定义要显示的内容。最后,在您的控制器中,根据您的需要拨打view('foo::contact')
或view('contact')
。
嗯,刀片系统不是太深。我认为laravel的文档足以补充你在这方面的知识。我在哪里可以看到一些正确的视图文档和示例,而不是laravel.com那些推动Blade那么多?