0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

初めてのLaravel ~Blog App~ 02(備忘録)

Posted at

渋谷で働くエンジニア福さんのYoutube動画,実践で学ぶプログラミング入門 の学習記録です。

2,Migration編

***マイグレーションとは?***

"データベースのテーブル作成や編集などを管理するためのファイル”
基本的に操作は ファイルの作成と実行の2つ。
参照ドキュメント

  • コマンドからマイグレーションファイルを作成
    php artisan make:migration create_blogs_table
    (ここでは blogsという名前)
  • 作成したファイルに移動し、中身を設定する
  • 実行コマンド php artisan migrate  
     

3,Model編

***モデルとは?***

MVCというWebアプリケーションを実装する効率的な方法の一つで、
”データを処理したり、データをDBへ保存したりする役割”
参照ドキュメント

  • コマンドからモデルを作成php artisan make:model Models/Blog
    (ここではModelsフォルダにBlogファイル *blogsテーブルの単数名)

  • php artisan make:model Models/Blog -m でマイグレーションファイルとモデルの作成を同時に行うことも可能

  • php artisan make:model -helpで様々なオプションが用意されているのが確認できる

4,Route編

***ルーティングとは?***

”ブラウザから任意のURLにアクセスがあった場合、どのコントローラー処理を動かすか定義する”

5, Controller編

***コントローラーとは?***

”Viewからリクエストを受け取り、Modelへ処理の命令を出す、またModelから処理の結果を受け取り、レスポンスとしてViewへ返す役割”

5, View編

***ビューとは?***

”Viewとは、ユーザーが実際に見る画面”

Bladeとは?

”Laravelのテンプレートエンジン = HTMLに直接PHPが書けたり、テンプレートのけ継承やデータの受け渡しができるなど便利に記述できる”

  • 共通テンプレート作成
views/layouts.blade.php
<!DOCTYPE HTML>
<html lang="ja">

<head>
  <meta charset="UTF-8">
  <title>@yield('title')</title> 
  <link rel="stylesheet" href="/css/app.css">
  <script src="/js/app.js" defer></script>
</head>

<body>
  <header>
    @include('header') 
  </header>
  <br>
  <div class="container">
    @yield('content') //中身が変化するコンテンツ
  </div>
  <footer class="footer bg-dark  fixed-bottom">
    @include('footer')

  </footer>
</body>

</html>
  • 共通ヘッダー作成
views/header.blade.php
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
 <a class="navbar-brand" href="#">ブログ</a>
 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
   <span class="navbar-toggler-icon"></span>
 </button>
 <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
   <div class="navbar-nav">
     <a class="nav-item nav-link active" href="#">ブログ一覧 <span class="sr-only"></span></a>
     <a class="nav-item nav-link" href="#">ブログ投稿</a>
   </div>
 </div>
</nav>
  • 共通フッター作成
views/footer.blade.php
<div class="container text-center">
 <span class="text-light">©︎福のプログラミング講座</span>
</div>
  • 共通テンプレートを継承した containerの中身を作成
    (ブログ一覧やブログ詳細、投稿 etc..)
views/blog/list.blade.php
@extends('layouts') //親テンプレートを継承
@section('title', 'ブログ一覧') //親テンプレートの@yieldの中身
@section('content')
<div class="row">
  <div class="col-md-8 col-md-offset-2">
    <h2>ブログ記事一覧</h2>
    <table class="table table-striped">
      <tr>
        <th>記事番号</th>
        <th>日付</th>
        <th>タイトル</th>
        <th></th>
      </tr>
      <tr>
        <td>1</td>
        <td>2020/06/30</td>
        <td>テスト</td>
        <td></td>
      </tr>
    </table>
  </div>
</div>
@endsection
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?