刀片模板简介

2020年12月31日19:38:10 发表评论 48 次浏览

介绍

了解Blade语法和模板系统的基础知识。 Laravel的Blade模板系统是Laravel PHP框架使开发人员的生活更轻松的一种方式。

Blade语法简洁明了, 但可以轻松处理嵌套模板继承和复杂的条件。而且, 由于Blade语法被编译成PHP代码然后进行缓存, 因此与单独使用标准PHP相比, 它提供了更好的Web服务器性能。

要求

  • 安装了Laravel和PHP 7.0+的云服务器。

要安装Laravel, 请按照我们文章中的说明进行操作在Ubuntu 16.04上安装Laravel PHP框架.

创建一个新项目

使用SSH连接到服务器, 然后su给你的Laravel用户。转到你的网站目录:

cd /var/www/html

创建新的基本站点项目:

laravel new basic-site

这将创建基本站点项目目录, 并构建所有标准的Laravel组件和子目录。

移至项目目录:

cd basic-site

你必须再执行一个步骤, 才能在浏览器中查看项目。的所有权基本站点/存储目录需要更改为服务器的Web用户:

sudo chown -R www-data:www-data storage

建立基本的文件结构

刀片模板位于资源/视图夹。我们将创建一组目录来组织新的Blade模板。文件结构为:

- resources
-- views
--- includes
------- header.blade.php
------- footer.blade.php
--- layouts
------- default.blade.php
--- pages
------- home.blade.php

该项目将有一个主布局文件, 该文件将调用两个包含的文件:页眉和页脚。主页将具有所有内容, 并将使用主布局文件。

使用以下命令创建必要的目录:

mkdir resources/views/layouts
mkdir resources/views/pages
mkdir resources/views/includes

创建文件

接下来, 我们将创建示例文件。每个Blade文件必须遵循命名约定[文件名] .blade.php, 并且必须位于资源/视图Laravel项目的目录。

默认模板

创建default.blade.php文件:

nano resources/views/layouts/default.blade.php

这将是默认的模板文件。将以下内容放入此文件:

<html>
<head>
  @include('includes.header')
</head>
<body>

  @yield('content')

  @include('includes.footer')

</body>
</html>

保存并退出文件。

Blade需要注意的两项语法:

  • @包括从文件中提取信息包括目录。
  • @让从中获取信息内容主页部分。

标头

创建header.blade.php文件:

这将是包含的头文件。将以下内容放入此文件:

nano resources/views/includes/header.blade.php
<title>My Laravel Example Site</title>
<meta name="description" content="An example site for learning Laravel.">

保存并退出文件。

页脚

创建footer.blade.php文件:

nano resources/views/includes/footer.blade.php

这将是包含的页脚文件。将以下内容放入此文件:

<p>This is the included footer.</p>

保存并退出文件。

主页

创建home.blade.php文件:

nano resources/views/pages/home.blade.php

这将是我们的主页。将以下内容放入此文件:

@extends('layouts.default')
@section('content')
    Hello, world! Welcome to the home page.
@endsection

保存并退出文件。

有关Blade语法的一些注意事项:

  • @extends告诉Laravel该文件的内容扩展了另一个视图。它还将其扩展的视图定义为我们的默认模板:资源/视图/布局/default.blade.php.
  • @部分定义节的开头, 我们已将其命名为内容。本节中包含的所有内容都会显示在@让我们在模板中定义的
  • @endsection关闭该部分。@部分和@endsection是必须成对使用的术语, 就像其他HTML标签一样(例如, <div>和</ div>)。

创建路线

由于我们将只使用基本的Blade布局, 因此我们要做的就是创建一条简单的路线来加载单个视图。无需创建任何更复杂的东西(如控制器)。

打开路线/web.php用于编辑的文件:

nano routes/web.php

找到以下内容:

替换为:

Route::get('/', function()
{
return view('pages.home');
});

保存并退出文件。

该路由接受对主公共目录的请求(/), 并将这些请求路由到home.blade.php文件在页数目录。

现在你已经完成了路由的创建, 可以在域的末尾添加/ basic-site / public来在浏览器中查看结果。http://example.com/basic-site/public)。

一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: