国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Laravel 5.4 入門系列 5. 博客通用布局

xuweijian / 3119人閱讀

摘要:接下來執(zhí)行遷移即可通用布局通用布局首先是博客首頁,定義路由控制器視圖博客首頁訪問下網(wǎng)站根目錄,顯示博客首頁,框架基本搭建完成了。首先是通用布局通用布局里面除了使用之外,還使用了,用于加載其他模板。

5. 博客的通用布局 初始化 創(chuàng)建控制器、模型、遷移

博客的核心是文章,可以先來實(shí)現(xiàn)和文章有關(guān)的功能,根據(jù)前幾節(jié)的介紹可知,我們至少需要?jiǎng)?chuàng)建這幾類:

PostsController:控制器

Post:模型

create_posts_table:遷移任務(wù)

雖然可以分別創(chuàng)建,但是也可以批量進(jìn)行創(chuàng)建,只需要在創(chuàng)建 Model 的時(shí)候指定即可:

$ php artisan make:model Post -mc

不過創(chuàng)建的控制器為單數(shù)形式 PostController,我們需要手動(dòng)將文件名和類名改成復(fù)數(shù)的。

創(chuàng)建表格

接下來是生成 posts 表,通過遷移來完成:

// /database/migrations/2017_04_12_124622_create_posts_table.php

public function up()
{
    Schema::create("posts", function (Blueprint $table) {
        $table->increments("id");
        $table->string("title");
        $table->body("text");
        $table->timestamps();
    });
}

一開始,為了便于操作,我們只包含了標(biāo)題和內(nèi)容兩個(gè)基本字段。接下來執(zhí)行遷移即可:

$ php artisan migrate
通用布局 通用布局

首先是博客首頁,定義路由:

/routes/web.php

Route::get("/posts","PostsController@index");

控制器:

/app/Http/Controllers/PostsController.php

public function index()
{
    return view("posts.index");
}

視圖:

/resources/views/posts/index.blade.php




    
    Document


    博客首頁

訪問下網(wǎng)站根目錄,顯示「博客首頁」,框架基本搭建完成了。現(xiàn)在,可以回顧下,我們之前所創(chuàng)建的視圖,每個(gè)視圖都包括了一些共同的東西,比如頭部、尾部等,造成大量的重復(fù)工作。Laravel 提供了優(yōu)雅的解決方案,首先,我們創(chuàng)建一個(gè)頁面用于存放這些共同的東西:

/resources/views/layouts/master.blade.php



    
    博客首頁


    
@yield("content")

@yield 指令相當(dāng)于一個(gè)占位符,這就意味著,其他頁面只需要繼承該頁面,就可以共享該頁面的內(nèi)容,同時(shí)也可以定義具體的 content 以滿足不同的顯示:

/resources/views/posts/index.blade.php

@extends("layout")

@section("content")
    
    博客首頁
    
@stop

子模板要聲明繼承于哪個(gè)模板,使用 @extends 指令。同時(shí),使用@section@stop 來定義各自的自己的 content 的內(nèi)容。

@yield 也可以定義默認(rèn)值,如果子模板不繼承的話就會(huì)顯示該默認(rèn)值

@yield("title","默認(rèn)首頁")

如果子模板既要繼承父模板的內(nèi)容,也要加載自己的內(nèi)容,通用視圖里需要使用以下語法:

@section("sidebar")
    這是側(cè)邊欄
@show

繼承時(shí)使用 @parent 代表加載父模板的內(nèi)容:

@section("sidebar")
    @parent
    自定義內(nèi)容
@endsection
使用 Bootstrap Blog 模板

接下來,我們使用 Bootstrap Blog 模板來創(chuàng)建博客的前臺(tái),該模板的效果如圖所示:

我們根據(jù)上圖劃分來對(duì)源代碼進(jìn)行分割。首先是通用布局:

/resources/views/layouts/master.blade.php



  
    
    

    Blog Template for Bootstrap

    

    

  

  
  
    @include("layouts.nav")
    @include("layouts.header");
  
    
@yield("content") @include("layouts.siderbar")
@include("layouts.footer")

通用布局里面除了使用 @yield 之外,還使用了 @include,用于加載其他模板。

導(dǎo)航:

/resources/views/layouts/nav.blade.php

頭部:

/resources/views/layouts/header.blade.php

The Bootstrap Blog

An example blog template built with Bootstrap.

側(cè)邊欄:

/resources/views/layouts/siderbar.blade.php

底部:

/resources/views/layouts/footer.blade.php

最后是博客的樣式:

/public/css/blog.css

/*
 * Globals
 */

@media (min-width: 48em) {
  html {
    font-size: 18px;
  }
}

body {
  font-family: Georgia, "Times New Roman", Times, serif;
  color: #555;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal;
  color: #333;
}


/*
 * Override Bootstrap"s default container.
 */

.container {
  max-width: 60rem;
}


/*
 * Masthead for nav
 */

.blog-masthead {
  margin-bottom: 3rem;
  background-color: #428bca;
  -webkit-box-shadow: inset 0 -.1rem .25rem rgba(0,0,0,.1);
          box-shadow: inset 0 -.1rem .25rem rgba(0,0,0,.1);
}

/* Nav links */
.nav-link {
  position: relative;
  padding: 1rem;
  font-weight: 500;
  color: #cffffdeb;
}
.nav-link:hover,
.nav-link:focus {
  color: #fff;
  background-color: transparent;
}

/* Active state gets a caret at the bottom */
.nav-link.active {
  color: #fff;
}
.nav-link.active:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -.3rem;
  vertical-align: middle;
  content: "";
  border-right: .3rem solid transparent;
  border-bottom: .3rem solid;
  border-left: .3rem solid transparent;
}


/*
 * Blog name and description
 */

.blog-header {
  padding-bottom: 1.25rem;
  margin-bottom: 2rem;
  border-bottom: .05rem solid #eee;
}
.blog-title {
  margin-bottom: 0;
  font-size: 2rem;
  font-weight: normal;
}
.blog-description {
  font-size: 1.1rem;
  color: #999;
}

@media (min-width: 40em) {
  .blog-title {
    font-size: 3.5rem;
  }
}


/*
 * Main column and sidebar layout
 */

/* Sidebar modules for boxing content */
.sidebar-module {
  padding: 1rem;
  /*margin: 0 -1rem 1rem;*/
}
.sidebar-module-inset {
  padding: 1rem;
  background-color: #f5f5f5;
  border-radius: .25rem;
}
.sidebar-module-inset p:last-child,
.sidebar-module-inset ul:last-child,
.sidebar-module-inset ol:last-child {
  margin-bottom: 0;
}


/* Pagination */
.blog-pagination {
  margin-bottom: 4rem;
}
.blog-pagination > .btn {
  border-radius: 2rem;
}


/*
 * Blog posts
 */

.blog-post {
  margin-bottom: 4rem;
}
.blog-post-title {
  margin-bottom: .25rem;
  font-size: 2.5rem;
}
.blog-post-meta {
  margin-bottom: 1.25rem;
  color: #999;
}


/*
 * Footer
 */

.blog-footer {
  padding: 2.5rem 0;
  color: #999;
  text-align: center;
  background-color: #f9f9f9;
  border-top: .05rem solid #e5e5e5;
}
.blog-footer p:last-child {
  margin-bottom: 0;
}

現(xiàn)在,訪問 /posts,就可以看到整個(gè)頁面效果了 :)


Blog Template for Bootstrap

Laravel 的 Blade 模板引擎 | Laravel 5.4 中文文檔

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/22705.html

相關(guān)文章

  • Laravel 5.4 入門系列 10.文章歸檔

    摘要:將上述的一系列查詢進(jìn)行封裝模型到了這一步,我們基本上實(shí)現(xiàn)了文章歸檔的功能。但是有一個(gè)問題,文章歸檔實(shí)際上包括在通用視圖中,這就意味著,網(wǎng)站的所有請(qǐng)求都需要返回,否則就會(huì)報(bào)錯(cuò)。數(shù)據(jù)庫之?dāng)?shù)據(jù)庫請(qǐng)求構(gòu)建器中文文檔的視圖功能中文文檔 首先,要實(shí)現(xiàn)的是按照日期來統(tǒng)計(jì)文章,原始的 SQL 如下: select year(created_at) year, monthname(c...

    Nekron 評(píng)論0 收藏0
  • 最適合入門Laravel 初級(jí)教程 (二)

    摘要:最適合入門的初級(jí)教程二看這篇文章的時(shí)候你需要安裝好配置好本地環(huán)境環(huán)境搞定后咱來說的下載這里先解決一些童鞋可能有的疑惑的版本更新的那么快從到現(xiàn)在的了我應(yīng)該下載那個(gè)學(xué)習(xí)呢新出的版本的文檔資料豐富么作為一個(gè)過來人可以大膽的說學(xué)習(xí)最新版本沒問題除了 最適合入門的 Laravel 初級(jí)教程 (二) 看這篇文章的時(shí)候;你需要安裝好 composer ;配置好本地環(huán)境; 環(huán)境搞定后; 咱來說lara...

    rubyshen 評(píng)論0 收藏0
  • Laravel 5.4 入門系列 6. 文章的創(chuàng)建

    摘要:基本功能創(chuàng)建文章的第一步是用戶發(fā)請(qǐng)求,然后返回創(chuàng)建文章的頁面。實(shí)際上,會(huì)報(bào)錯(cuò)添加保護(hù)雖然我們完成了基本功能,但是提交請(qǐng)求的時(shí)候還是會(huì)報(bào)錯(cuò),其實(shí)這是防止攻擊。假如違反了規(guī)則,錯(cuò)誤信息會(huì)自動(dòng)被保存在閃存的中,即只對(duì)下一次請(qǐng)求生效。 基本功能 創(chuàng)建文章的第一步是用戶發(fā)請(qǐng)求,然后返回創(chuàng)建文章的頁面。 路由:處理用戶「創(chuàng)建文章」的請(qǐng)求 /routes/web.php Route::get(/po...

    levius 評(píng)論0 收藏0
  • Laravel 5.4 入門系列 1. 安裝

    摘要:的安裝與使用是什么是的一個(gè)依賴管理工具。它以項(xiàng)目為單位進(jìn)行管理,你只需要聲明項(xiàng)目所依賴的代碼庫,會(huì)自動(dòng)幫你安裝這些代碼庫。 Composer 的安裝與使用 Composer 是什么 Composer 是 PHP 的一個(gè)依賴管理工具。它以項(xiàng)目為單位進(jìn)行管理,你只需要聲明項(xiàng)目所依賴的代碼庫,Composer 會(huì)自動(dòng)幫你安裝這些代碼庫。 安裝 Composer Mac 下的安裝只需要在命令行...

    hqman 評(píng)論0 收藏0
  • Laravel 5.4 入門系列 13. 終篇: 小白也能看懂的 Laravel 核心概念講解

    摘要:但是服務(wù)通常由服務(wù)提供者來管理的。小結(jié)通過上述的例子,基本上可以理解服務(wù)容器和服務(wù)提供者的使用。懂得了服務(wù)容器和服務(wù)提供者,理解門面也就不難了。 自動(dòng)依賴注入 什么是依賴注入,用大白話將通過類型提示的方式向函數(shù)傳遞參數(shù)。 實(shí)例 1 首先,定義一個(gè)類: /routes/web.php class Bar {} 假如我們?cè)谄渌胤揭褂玫?Bar 提供的功能(服務(wù)),怎么辦,直接傳入?yún)?shù)即...

    BenCHou 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

xuweijian

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<