ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
LaravelにはBladeというテンプレートエンジンがある。
Bladeテンプレートとは?
Bladeテンプレートを使うとと、共通部分(ヘッダー、サイドバー、フッター等)は親ビューに記述し、各ページのコンテンツは親ビューを継承した小ビューに記述するというようなことができる。
また、ディレクティブ(@~)を使用することで「if」や「for」を簡潔に記述することが出来る。
テンプレートの拡張子は「.blade.php」とする。
ビューとは
ビューはアプリケーションのフロントエンドを担当する。
Laravelでは、表示用のテンプレートをあらかじめ用意し、それを利用して画面表示を行うことが可能。(Bladeテンプレート)
テンプレートは、「resources」フォルダ内にある「views」フォルダの中に配置する。また、PHPファイルとして作成する。
レイアウトという大枠を作ってそこにビューを組み込むのが一般的なやり方。
レイアウトの定義
以下の様に、レイアウトは大枠を定義する。
<!-- resources/views/layouts/app.blade.php --> <!-- CSSとJavaScript --> <body> @yield('content') |
「@yield('content')」にビューを組み込んで内容を表示させる。
@yield('content')
ビューの定義
以下の様に画面に入力項目やボタンを追加する。
<!-- resources/views/tasks.blade.php --> @section('content') <!-- Bootstrapの定形コード… --> <div class="panel-body"> <!-- タスク名 --> <div class="col-sm-6"> <!-- タスク追加ボタン --> |
「@extends('layouts.app')」は先ほどの「resources/views/layouts/app.blade.php」レイアウトを使用するという意味。
「@section('content')」から「@endsection」の内容を、先ほどのレイアウトで定義した「@yield('content')」の部分に挿入する。
ビューの表示
ルーティング機能を利用し、テンプレートの表示が可能。
Route::メソッド ( ※値 , function () ) { return view(テンプレート , [連想配列]); }); |
第1引数:使用するテンプレートの名前を指定。
第2引数:テンプレートに渡す値を連想配列で指定。指定された連想配列の値は、そのままテンプレート内で使うことが可能。
※ルーティングで割り当てるアドレス
具体例は以下の通り。
Route::get('/', function () { |
- インストールと設定
- クイックスタート & チュートリアル(初心者向け)
- クイックスタート & チュートリアル(中級者向け)
- ルーティング
- コントローラー
- マイグレーションとテーブル定義
- データベースの設定
- Eloquentモデル (ORM)
- SQLとクエリビルダー
- バリデーション
- .envファイルの設定値へのアクセス
- 動作環境による分岐処理
- configフォルダ配下の設定値へのアクセス
- assetヘルパーを利用したpublicフォルダへのアクセス
- storageフォルダへのアクセス
- アプリケーション名の変更
- メンテナンス
- ログイン画面(認証システム)の作成
- ログインの必須化
- ログインユーザー情報の取得
- ルートの認証化
- 本番サーバーへのデプロイ方法
- 多言語化
- csrf_field
- ファイルのダウンロード
- CSVのアップロードおよび読み込み(maatwebsite/excel)
- ページタイトルの設定
- コマンド一覧
- エラー一覧
- SQLの実行ログ出力方法
- キャッシュのクリア
- Selectの結果の最初もしくは最後に任意の値を追加する方法
- ajaxでPOST通信する際の注意点
- ソーシャルログインの実装
- セッション情報の確認
- ログイン、ユーザー登録、パスワードリセット後のリダイレクト先の変更方法
- redirectやreturn viewにメッセージを付与する方法
- クッキー(cookie)の設定と取得
- クラスの再読み込み
- csrfの有効時間を変更する方法
- ViewComposerを用いてviewに共通の値を付与する方法
- View::shareを用いて共通の値を各ビューに渡す方法
- ミドルウェアを用いた処理の共通化
- Middleware内でAuth::check()などを使用する方法
- Controller以外でリダイレクトする方法
- セッションの値の取得/保存/更新/削除
- $requestの値を変更する方法
- 常時SSL化
- ページング(ページネーション)をする方法
- vue.jsとの連携
- Vue.jsと連携するSPA実行環境構築
- .envの値をvue.jsで参照する方法
- vue.jsを本番環境にリリースする方法
- could not find driver(Windows, MySQL編)
人気ページ
最近更新/作成されたページ
- 【Mac】プリントジョブのオフセットとは(カスタムプリセットとの違い) (2023-08-14 09:54:04)
- 印刷関連 (2023-08-14 09:45:32)
- 【エラー】ドキュメントが読み込まれなかったため、デザイナーを表示できません (2023-08-12 06:36:23)
- SattaMatka (2023-07-03 19:31:13)
- ログイン画面(認証システム)の作成 (2023-06-13 17:09:48)
- 本番環境のdll内で参照しているdllファイルの置き場所 (2023-04-27 18:10:31)
- 【Visual Studio】 C#のForm自動生成時に「値が有効な範囲にありません」エラー (2023-04-27 10:04:15)
- 【Inno Setup】 エラー: disk spanning must be enabled in order to create an installation larger than 2100000000 (2023-04-19 09:29:09)
- Inno Setupとは (2023-04-19 09:27:47)
- その他 (2023-04-19 09:26:00)
最近コメントのあったページ
最近の質問
- c.wiki (2023-09-14 10:51:04)
- $(document).ready(function() { ... ってなに? (2023-04-17 11:02:56)
- 質問です (2020-02-20 12:19:36)
- フリーランスの単価って高いですか? (2020-02-12 19:56:16)
- 情報系のaoを受けるつもりなんですが何かおすすめのソフトはありますか? (2020-02-12 19:54:22)
- test3 (2020-02-08 23:50:54)
- セレクトボックスのCSSのcontentで三角の部分が押せない (2019-07-03 13:06:10)
- GCPのwp-config.phpでpermission denied (2019-06-05 20:04:08)
- Spring FrameworkのEntityのカラム名の大文字小文字、アンスコについて (2019-02-01 07:13:49)
- PHP(Laravel)からPythonのプログラムを呼び出したいのですがどうすればよいでしょうか。 (2018-12-06 06:26:57)
- djangoを本番環境にデプロイしたいのですがどのレンタルサーバー or VPSサーバーがよいですか (2018-12-01 12:04:18)
- Django administrationのUsernameとPasswordについて (2018-11-30 11:55:20)
- Google Adsenseでアダルトコンテンツと誤認されてしまいました。 (2018-09-09 17:15:36)
- Google MapsをUnityで使用する方法&料金 (2018-08-28 02:37:26)
- Amazon PA-APIのSort=salesrankが効かない (2018-07-21 08:54:25)
- 楽観ロックと悲観ロックの違い (2018-01-11 05:05:33)
- レンタルサーバーって沢山ありますけどどこがいいでしょうか?AWSってどうなんですか? (2018-01-09 10:03:20)
- ディープラーニングのライブラリってどれがオススメですか? (2018-01-06 05:15:40)
- Webスクレイピングってどこまでが違法なんでしょうか? (2018-01-06 05:09:08)
- 人工知能(AI)、機械学習、ディープラーニングの違い (2018-01-06 02:40:44)
コメントを削除してもよろしいでしょうか?
コメントがありません