微信扫一扫打赏支持

laravel基础课程---9、视图(lavarel的模板语法和tp相比怎样)

laravel基础课程---9、视图(lavarel的模板语法和tp相比怎样)

一、总结

一句话总结:

lavarel的模板语法比thinkphp好用很多:和html代码配合的更好
lavarel比tp好用太多了:比如还有广播系统,邮件系统等
隔行换色
@for($i=0;$i<=10;$i++)
    @if($i%2)
        <h1 style="background:red">{{$i}}</h1>
    @else
        <h1 style="background:blue">{{$i}}</h1>
    @endif
@endfor    

 

 

1、lavarel的视图中如何使用函数?

定界符中直接使用:{{date('Y-m-d H:i:s')}}
{{date('Y-m-d H:i:s')}}

{{substr(strtoUpper(md5($pass)),10,2)}}

 

 

2、lavarel中不确定变量是否存在 如何显示?

不需用三元运算符(?:):用or关键词:{{ $name or 'Default' }}

有时候你可能想要输出一个变量,但是你并不确定这个变量是否已经被定义,我们可以用像这样的冗长 PHP 代码表达:

{{ isset($name) ? $name : 'Default' }}

事实上,Blade 提供了更便捷的方式来代替这种三元运算符表达式:

{{ $name or 'Default' }}

在这个例子中,如果 $name 变量存在,它的值将被显示出来。但是,如果它不存在,则会显示 Default 。

 

3、blade是什么意思

n. 叶片;刀片

blade

英 [bleɪd]  美 [bled] 
  • n. 叶片;刀片,刀锋;剑

 

4、lavarel如何输出html代码?

比如控制器中变量是$name="<b>fsdfs</b>"

{!!$html!!}:#默认控制器中分配的HTML代码 会直接转换程 实体

 

 

5、lavarel视图如何不解析 {{}},直接实例输出?

前面加@:@{{$pass}}

 

 

6、lavarel视图中控制结构?

通过 @if, @elseif, @else 及 @endif 指令构建 if 表达式
@if (count($records) === 1)
    我有一条记录!
@elseif (count($records) > 1)
    我有多条记录!
@else
    我没有任何记录!
@endif

 

 

7、lavarel视图中for循环?

@for, @endfor, @foreach, @endforeach, @forelse, @empty, @endforelse
关键词都是以@开头:比如@continue,@break
@for ($i = 0; $i < 10; $i++)
    目前的值为 {{ $i }}
@endfor

@foreach ($users as $user)
    <p>此用户为 {{ $user->id }}</p>
@endforeach

@forelse ($users as $user)
    <li>{{ $user->name }}</li>
@empty
    <p>没有用户</p>
@endforelse

@while (true)
    <p>我永远都在跑循环。</p>
@endwhile

 

 

8、laravel数据库中读取出来的数据是对象,怎么让它是数组?

修改config的database.php:'fetch' => PDO::FETCH_OBJ,改为 FETCH_ASSOC
    /*
    |--------------------------------------------------------------------------
    | PDO Fetch Style
    |--------------------------------------------------------------------------
    |
    | By default, database results will be returned as instances of the PHP
    | stdClass object; however, you may desire to retrieve records in an
    | array format for simplicity. Here you can tweak the fetch style.
    |
    */

    'fetch' => PDO::FETCH_OBJ,

 

 

9、lavarel视图中对象的输出?

->符号:{{$value->name}}:php对象符号就是->
js一般情况下输出对象使用的是 中括号[] 或者 点.

 

在php中常见的对象符号

1.$this

    this是指向当前对象的指针(可以看成C里面的指针)

    而且this的使用同所有的php变量一样,使用时前面必须带$

2. ->

    这个箭头是配合$this使用的,是php中普通对象访问对象的属性和方法的方式

    如:  

 

10、lavarel模板布局中的文件包含是怎样?

@+include:@include('public.footer')

 

11、lavarel模板继承中的文件替换:哪些内容适合用@yield('title')来占位?

比如标题、顶部、侧边栏等

 

12、lavarel循环变量(比如foreach当前循环的索引)如何实现?

比如$loop->first:当前迭代是否是循环中的首次迭代。
比如$loop->index:当前循环所迭代的索引,起始为 0。
当循环时,你可以在循环内访问 $loop 变量。这个变量可以提供一些有用的信息,比如当前循环的索引,当前循环是不是首次迭代,又或者当前循环是不是最后一次迭代:

@foreach ($users as $user)
    @if ($loop->first)
        This is the first iteration.
    @endif

    @if ($loop->last)
        This is the last iteration.
    @endif

    <p>This is user {{ $user->id }}</p>
@endforeach

 

 

13、lavarel把数据共享给所有视图如何实现?

 View Facade 的 share 方法:View::share('key', 'value');
有时候可能需要共享特定的数据给应用程序中所有的视图,那这时候你需要 View Facade 的 share 方法。通常需要将所有 share 方法的调用代码放到 服务提供者 的 boot 方法中,此时你可以选择使用 AppServiceProvider 或创建独立的 服务提供者 。示例代码如下:

<?php

namespace App\Providers;

use Illuminate\Support\Facades\View;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        View::share('key', 'value');
    }

    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

 

14、lavarel模板继承页面布局的两个主要关键词是什么?

@extends('layouts.app'):继承的模板
@section('title', 'Page Title'):占位区域
<!-- Stored in resources/views/child.blade.php -->

@extends('layouts.app')

@section('title', 'Page Title')

@section('sidebar')
    @parent

    <p>This is appended to the master sidebar.</p>
@endsection

@section('content')
    <p>This is my body content.</p>
@endsection

 

 

 

二、内容在总结中

 

 

 

 
posted @ 2019-05-12 01:21  范仁义  阅读(582)  评论(0编辑  收藏  举报