zoukankan      html  css  js  c++  java
  • 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 AppProviders;
    
    use IlluminateSupportFacadesView;
    
    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

    二、内容在总结中

     
  • 相关阅读:
    C# partial 作用
    C#中internal关键字是什么意思?什么叫做“只能在包含它的程序集中访问该方法”
    [转]利用.NET中的反射机制实现IList到DataTable的转换
    你可能已经知道或者不知道的ASP.NET 2.0技巧
    SQL Server基本函数详细介绍--字符串函数
    在Web.config配置文件中自定义配置节点
    SQL SERVER事务处理
    专用于SqlServer2005的高效分页存储过程(支持多字段任意排序,不要求排序字段唯一)
    SQL SERVER 高效存储过程分页(Max/Min方法)
    该字符串未被识别为有效的 DateTime
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/10850614.html
Copyright © 2011-2022 走看看