ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|---|
|
前提
・Laravelプロジェクトを作成済み (まだの場合はこちらのページを参照)
・Vue.jsとの連携とvue-routerのインストール (まだの場合はこちらのページを参照)
・SPAの実行環境を構築するだけです。SPAの様々な記述方法は他のページを参照してください。
サーバーサイド(Laravel)のwebルーティングの無効化
webのルーティング処理はVue.js側で行うのでLaravel側のルーティング処理は不要となる。
※APIのルーティング(routes/api.php)は使用する(後述)
全てにリクエストに対して共通のレイアウト(resources/views/layouts/app.blade.php)を返すようにする。
| routes/web.php |
|---|
|
Route::get('/{any}', function () { return view('app'); })->where('any', '.*'); |
共通レイアウトの作成
Veu.jsを使うための最低限の設定と必要なheadタグ内の要素を記述すればよい。
| resources/views/app.blade.php |
|---|
|
<!DOCTYPE html> <html lang="{{ app()->getLocale() }}"> <head> <meta charset="utf-8"> <!-- CSRF Token --> <!-- CSS --> </head> <body> </body> </html>
|
サーバーサイド(Laravel)のAPIを作成
テスト用にDBから適当なデータを取得するAPIを作成する。
まずは適当なAPIルーティングを作成する。
| routes/api.php |
|---|
|
Route::get('articles', 'Article\ArticleController@getArticles'); |
適当なコントローラーを作成する。
| app/Http/Controllers/Article/ArticleController.php |
|---|
|
namespace App\Http\Controllers\Article; use App\Http\Controllers\Controller; class ArticleController extends Controller |
適当なモデルを作成する。(マイグレーションするなり直にcreate tableしてテーブル作成をしておく)
※titleカラムを作成しておくこと。
| app/model/Article.php |
|---|
|
namespace App\Models; use Illuminate\Database\Eloquent\Model; class Article extends Model protected $primaryKey = 'article_id'; public $incrementing = 'article_id'; protected $guarded = [ |
ローカルサーバーの起動
以下の2つのコマンドをそれぞれ別窓で実行してローカルサーバーを起動する。
|
php artisan serve |
|
npm run hot |
Veu.jsでルーティングを作成
| resources/assets/js/app.js |
|---|
|
import Vue from 'vue' require('./bootstrap'); Vue.use(VueRouter) const router = new VueRouter({ const app = new Vue({ |
ビューの作成とAPIの呼び出し
| resources/assets/js/components/Articles.vue |
|---|
|
{{ article.title }}
<script></span></p> <p><span style="color:#ffffff"> export default {</span></p> <p><span style="color:#ffffff"> created() {</span></p> <p><span style="color:#ffffff"> this.getArticles()</span></p> <p><span style="color:#ffffff"> },</span></p> <p><span style="color:#ffffff"> data() {</span></p> <p><span style="color:#ffffff"> return {</span></p> <p><span style="color:#ffffff"> articles: []</span></p> <p><span style="color:#ffffff"> }</span></p> <p><span style="color:#ffffff"> },</span></p> <p><span style="color:#ffffff"> methods: {</span></p> <p><span style="color:#ffffff"> getArticles() {</span></p> <p><span style="color:#ffffff"> axios<br /> .get('/api/articles')<br /> .then(res => {<br /> this.articles = res.data<br /> })</span></p> <p><span style="color:#ffffff"> }</span></p> <p><span style="color:#ffffff"> }</span></p> <p><span style="color:#ffffff"> }</span></p> <p><span style="color:#ffffff"></script> |
以上の設定で「http://localhost:8000/articles」にアクセスするとarticleテーブルのtitle一覧が表示される。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- インストールと設定
- クイックスタート & チュートリアル(初心者向け)
- クイックスタート & チュートリアル(中級者向け)
- ルーティング
- Bladeテンプレート(ビュー/レイアウト)
- コントローラー
- マイグレーションとテーブル定義
- データベースの設定
- 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編)
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Scratch 作品の公開方法 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?