<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 10. blade layout 這一節我們來學習下 `blade` 這個 view engine 的 `layout` 功能,主要是實現下面一個頁面。 ![](https://box.kancloud.cn/3b0a2c1096da1ec442ebd85bca850866_1896x2072.png) 這個頁面的 html 和 css 的代碼都是抄自 `bootstrap` 官網的一個叫 `narrow-jumbotron` 的demo。 它的網址如下: <http://getbootstrap.com/docs/4.0/examples/narrow-jumbotron/> **如果在下面的演示過程中發現有缺少的 css 的文件,都在上面這個網址里下載(查看源代碼)。** 這一節比較簡單,因為在以前的文章中都有講到如何去創建一個頁面的,而這節主要是來感受一下 `laravel` 的 view 中的 `layout` 功能。 ## 1. 創建 route 為了更好地演示,我們來新創建一個新的 route。 按照之前學到的知識,在 `routes/web.php` 文件中添加如下這行 route: ``` // routes/web.php <?php Route::get('blade', 'PagesController@blade'); ``` ## 2. 添加 bladetest action 接著,在controller文件 `app/Http/PagesController.php`,添加一個 action,內容如下: ``` // app/Http/PagesController.php <?php ... class PagesController extends Controller { ... public function blade() { return view('blade.bladetest'); } } ``` ## 3. 創建 view 在 `resources/views/blade` 目錄下添加 `bladetest.blade.php` 文件,內容如下: ``` @extends('layouts.master') @section('title') Blade @endsection @section('body') <div class="jumbotron"> <h1 class="display-3">Jumbotron heading</h1> <p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p> <p><a class="btn btn-lg btn-success" href="#" role="button">Sign up today</a></p> </div> <div class="row marketing"> <div class="col-lg-6"> <h4>Subheading</h4> <p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p> <h4>Subheading</h4> <p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p> <h4>Subheading</h4> <p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p> </div> <div class="col-lg-6"> <h4>Subheading</h4> <p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p> <h4>Subheading</h4> <p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p> <h4>Subheading</h4> <p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p> </div> </div> @endsection ``` 關鍵在于第一行 `@extends('layouts.master')`,表示會使用 `master` 這個 layout,我們來創建一下這個文件。 ## 4. 創建 master layout 在`resources/views/layouts`目錄下添加一個文件,叫`master.blade.php`,內容如下: ``` <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content=""> <meta name="author" content=""> <link rel="icon" href="../../../../favicon.ico"> <title>@yield('title')</title> <!-- Bootstrap core CSS --> <link href="css/bootstrap.min.css" rel="stylesheet"> <!-- Custom styles for this template --> <link href="css/narrow-jumbotron.css" rel="stylesheet"> </head> <body> <div class="container"> <div class="header clearfix"> <nav> <ul class="nav nav-pills float-right"> <li class="nav-item"> <a class="nav-link active" href="#">Home <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="#">About</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Contact</a> </li> </ul> </nav> <h3 class="text-muted">Project name</h3> </div> @yield('body') <footer class="footer"> <p>? Company 2017</p> </footer> </div> <!-- /container --> <!-- Bootstrap core JavaScript ================================================== --> <!-- Placed at the end of the document so the pages load faster --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> </body> </html> ``` 如果發現沒有格式,或格式不對,可能是下面的 css 沒有引用成功: ``` <!-- Bootstrap core CSS --> <link href="css/bootstrap.min.css" rel="stylesheet"> <!-- Custom styles for this template --> <link href="css/narrow-jumbotron.css" rel="stylesheet"> ``` 再次說一下,到下面這個網址把這兩個css文件下載下來(用瀏覽器的查看源代碼功能)。 <http://getbootstrap.com/docs/4.0/examples/narrow-jumbotron/> 下載后這兩個文件,都放到`public/css`目錄下,目錄結構如下: ``` public/css ├── bootstrap.min.css └── narrow-jumbotron.css ``` ## 5. 重在領悟 上面的各種 view,主要講到了三個指令,分別是 `@extends`、`@yield('body')`,`@section`。 `@extends` 簡單,主要是在 `子view` 中用,表示要去使用哪個 layout。 `@yield('body')` 是在 layout 中用,有點像在埋一個點,等著子 view 來放真正的內容,而 `@section` 才是子 view 真正放內容的地方。 如果不理解,多結合上面的例子看看吧,反正我是一下子就理解的。 完結。 下一篇:[Ruby 程序員學習 laravel 框架筆記 (11)-使用 @include 來整理 view](https://www.rails365.net/articles/ruby-cheng-xu-yuan-xue-xi-laravel-kuang-jia-bi-ji-11-shi-yong-include-lai-zheng-li-view)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看