我深深地钟爱使用 Laravel 进行开发。笔记一

“我深深地钟爱使用 Laravel 进行开发。除了它能迅速构建应用、程序代码简洁且优雅之外,Laravel 框架本身亦是一个极具价值的学习范本。在本文中,我尝试将 Laravel 的官方文档要点整理成问答(Q&A)的形式,并力求每个概念都达到原子化的精细程度。尽管这种呈现方式可能并不适合所有读者,但倘若它能对你的学习或工作有所帮助,我将会倍感欣慰。”

应用程序名称 - @yield('title') @section('sidebar') 这是主侧边栏。 @show

    <div class="container"> 
        @yield('content') 
    </div> 
</body> 

回答:

< !-- 假设,当子文件扩展app文件时,子文件 --> 应用名称 - @yield('title') @section('sidebar') this is the master侧边栏。 @show

    <div class="container"> 
        <!-- 上方位置定义为 'content', 所有扩展 app 文件的view --> 
        <!-- 都可以使用 @section('content') 加入该视图需要的代码 --> 
        @yield('content') 
    </div> 
</body> 

# 扩展布局 下面的 Laravel 示例代码的意思是?

例子:

@extends(‘layouts.app’)

@section(‘title’, ‘页面标题’)

@section(‘sidebar’)
@parent

<p >这会附加到主侧边栏。</p> 

@endsection

@section(‘content’)

这是我的正文内容。


@endsection
回答:

@extends(‘layouts.app’)

<! – @yield 会定义在布局文件的位置,而@section –>

@section(‘title’, ‘Page Title’)

@section(‘sidebar’)
@parent

<p>这是追加到master sidebar.</p> 

@endsection

@section(‘content’)

这是我的正文内容。</ p>
@endsection
下面的 Laravel 示例代码的意思是?

例子:
@yield(‘内容’, View::make(‘view.name’))
答:定义了此位置’content’,并定义了默认值’view.name’页面,因此扩展了此示例的子页面都可以使用@section(‘content’)这里位置插入代码,如果子页面没有定义@section(‘content’)的话,则使用默认值’view.name’页面
下面的 Laravel 示例代码的意思是?

例子:
<?php
Route::get(‘blade’, function () {
return view(‘child’);
});
答案: 当收到请求 url ‘blade’, 回传 ‘child’ view, 可以是一个blade view

显示数据

下面的 Laravel 示例代码的意思是?

例子:
<?php
Route::get(‘greeting’, function () {
return view(‘welcome’, [‘name’ => ‘Samantha’]);
});
回答: 当收到请求 5o ‘greeting’ uri, 回传 ‘欢迎’ 查看页面, 并带着[‘name’ => ‘Samantha’], 并在查看页面可以显示 ‘name’你好, {{ $name }}
以下的 Laravel Blade 示例代码的意思是?

例子:
当前的 UNIX 时间戳是 {{ time() }}。
答案:使用blade语法,可以在{{ }}内执行任何PHP函数

显示未转义的数据

以下的 Laravel Blade 示例代码的意思是?

例子:
你好, {!! $名称!!}。
答:blade 语法默认会执行 PHP 的htmlspecialchars方法,若不希望资料经过转义,可以使用{!! !!}

渲染 JSON

以下的 Laravel Blade 示例代码的意思是?

例子:
<脚本>
var app = @json($array);

var app = @json($array, JSON_PRETTY_PRINT); 

</脚本>
答案:blade,@json()默认json_encode(),默认使用JSON_HEX_TAG, JSON_HEX_APOS, JSON_HEX_AMP, JSON_HEX_QUOTflags

HTML 实体编码

下面的 Laravel 示例代码的意思是?

例子:
<?php

命名空间 App\Providers;

使用 Illuminate\Support\Facades\Blade;
使用 Illuminate\Support\ServiceProvider;

类 AppServiceProvider 扩展了 ServiceProvider
{
public function boot()
{
Blade::withoutDoubleEncoding();
}
}
答:Blade 默认会双重编码 HTML 实体,要关闭双重编码,可以在 AppServiceProvider 的 boot() 中,使用 Blade 的 withoutDoubleEncoding()

Blade 和 JavaScript 框架

以下的 Laravel Blade 示例代码的意思是?

例子:

Laravel

你好,@{{ name }}。
答:很多 JavaScript 框架也用到了任何{ }符号来表示某些语法,可以用来@告诉 Blade 不需要对{{ }}内的内容做动作,它们可以被 JS 框架解析
以下的 Laravel Blade 示例代码的意思是?

例子:
{{– Blade –}}
@@json()

@json()
答案:@json()本是Blade的一个函数,可以使用@转义Blade语法,所以在HTML上的输出会是@json()

@verbatim指令

以下的 Laravel Blade 示例代码的意思是?

例子:
@verbatim


你好,{{ name }}。


@endverbatim
答:许多由于 JS Framework来解析变数或一些语法,如果 Blade 页面内有许多的{ { }}都是要让 JS Framework 来解析的话,可以写在@verbatim指令内

控制结构

如果语句

本作品采用《CC 协议》,转载必须注明作者和本文链接
地球China_mcn
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!