シンプルなブログの実装 display_html/css_WEB-ITnose

WBOY
リリース: 2016-06-21 08:48:34
オリジナル
1378 人が閲覧しました

すべての記事をリストするインデックス ホームページを作成します

ルートを生成します

app/Http/routes.php

Route::get('/articles','ArticlesController@index');
ログイン後にコピー

コントローラーを生成します

phpArtisan make:controller ArticlesController

namespace App\Http\Controllers;use App\Articles;  //当你使用Articles这个model的时候,phpstorme会帮你默认导入这个类use Illuminate\Http\Request;use App\Http\Requests;class ArticlesController extends Controller{    //    public function index(){  //因为路由里面我们使用了ArticlesController@index,所以这里是index方法        $articles = Articles::all();         //这里需要注意的是这个Articles是我们创建的那个Articles的model,在phpstorme会有提示,这里的all方法是返回这个model查询到的所有数据,这些数据是提前输入好的        return $articles;    }}
ログイン後にコピー

localhost:8000/articles にアクセスすると以下の内容が表示されます。laravel はデフォルトで json 形式でデータを返します

本页JSON数据由FeHelper进行自动格式化,若有任何问题,点击这里提交 意见反馈[{"id": 1,"title": "title","content": "content","publish_at": "2016-05-14 18:04:44","created_at": "2016-05-14 18:04:48","updated_at": "2016-05-14 18:04:48"},{"id": 2,"title": "title2","content": "content2","publish_at": "2016-05-15 04:24:48","created_at": "2016-05-14 18:07:42","updated_at": "2016-05-14 18:07:42"},{"id": 3,"title": "second title","content": "second content","publish_at": "2016-05-14 18:15:38","created_at": "2016-05-14 18:15:38","updated_at": "2016-05-14 18:15:38"}]
ログイン後にコピー

既存のブレードの知識を使用して、レイアウトを構成します

たとえば、

resource/views/layout/app.blade.phplayout は、主に概念を作成するためのファイルです。テンプレート コンテナー。一部の HTML ヘッド タグやボディ タグなどの再利用可能なコードを処理するために使用されます。

< !DOCTYPE html><html><head>    <title>Laravel</title>    <!-- 新 Bootstrap 核心 CSS 文件 -->    <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"/></head><body>    <div class="container">        @yield('content')    </div>    @yield(('footer'))</body></html>
ログイン後にコピー

コントローラーによって指定されたブレード ファイルを作成します。

resources/views/articles /index.blade.php

@extends('layout.app')@section('content')    <h1>hello</h1>    <hr />    @foreach($articles as $article)  //循环输出        <h2>{{$article->title}}</h2>        <article>            <div>                {{$article->content}}            </div>        </article>    @endforeach@stop
ログイン後にコピー

記事ページを作成し、単一の記事をリストします

単一の記事は URL 内の記事 ID で区別する必要があるため、新しいルートが作成されました。特別に作成され、新しいコントローラー メソッド show

Route::get('/articles/{id}','ArticlesController@show'); は変数パラメーターで渡され、中括弧で識別され、渡されます。 in コントローラーの show メソッドへの変数

app/Http/Controllers/ArticlesController.php

class ArticlesController extends Controller{    //    public function index(){        $articles = Articles::all();//        return $articles;        return view('articles.index',compact('articles'));    }    public function show($id){    //获取从路由传入的$id变量        $article = Articles::find($id); //使用laravel提供的find方法查询数据库//        return $articles;        return view('articles.show',compact('article'));    }}
ログイン後にコピー

resources/views/articles/show.blade.php

@extends('layout.app')@section('content')    <h1>hello</h1>    <hr />    @foreach($articles as $article)        {{--<h2><a href="/articles/{{$article->id}}">{{$article->title}}</a></h2>--}}{{--        <h2><a href="{{url('articles',$article->id)}}">{{$article->title}}</a></h2>--}}        <h2><a href="{{action('ArticlesController@show',[$article->id])}}">{{$article->title}}</a></h2>        //这里有三种方法来传递变url量到blade中,第一种是直接写的,第二种是通过url方法,使用的路由方法,第三种是通过action方法,使用的是controller方式        <article>            <div>                {{$article->content}}            </div>        </article>    @endforeach@stop
ログイン後にコピー

この記事は Peter Yuan によって作成され、表示 - 非営利 2.5 中国本土に基づいてライセンスされています。 転載または引用する前に、著者に連絡し、著者名に署名し、記事の出典を示す必要があります。神のような少年 » 簡易ブログ表示の実装(主にEloquentとControllerの組み合わせを使用)

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート