Fippiyのプログラム学習内容アウトプットBlog

日々の学習内容をアウトプットして振り返りを実施する。

Laravel開発、ログイン情報をヘッダに表示させる

前回記事で新規登録・ログイン機能を精査し、不要なコードを削除しました。

 

fippiy.hatenablog.jp

現状としてユーザー自身の情報を扱う機能は新規登録・ログインする・ログアウトするの3つです。

ログイン必須のサイトなので、本情報ページに入ればログインはできていますが、ログインしたユーザーの情報は一切表示されていないので、画面上に表示させることにしました。

 

  • 今回の目的
    • なぜやるか
    • やりたいこと
    • やったこと
  • 実施内容
    • 実装方法を考える
      • 表示位置
      • ヘッダにDBからデータを取得して表示させる
    • 実装する
      • ユーザー情報表示エリアのマークアップ 
      • ユーザー情報表示を部品化する
      • サービスプロバイダを利用する
      • サービスプロバイダを登録する
      • ユーザーデータを表示する

 

今回の目的

ログインしているユーザーの情報を画面上に表示させる

なぜやるか

ログインしているユーザー情報を表示することで、誰でログインしているかが明確にわかるようにするため

やりたいこと

ヘッダにユーザー名と所有書籍数を表示させたい

ユーザー情報を表示させるためのデータ取得設定をしたい

やったこと

ユーザー情報実装手順を確認する

ユーザー情報表示のマークアップ

マークアップ内容を部品化

部品呼び出し時にBD処理を追加する

キャッシュをクリアする 

続きを読む

Laravel開発、混在状態となっているログインページを一本化させる

本情報登録及び所有書籍登録ページは完成したので、ユーザーに関する情報について細かな設定を実施していきます。

 

まずは、既に作成済みの新規登録・ログイン周りの見直しです。

  • 今回の目的
    • なぜやるか
    • やりたいこと
    • やったこと
  • 実施内容
    • ログインページの作成経緯
      • とりあえずログイン機能をとにかくつけた
      • 自動生成フォームから変更
      • ログインフォームを見直す
    • コンフィグ設定を変更する
      • Auth機能について再確認
      • ルーティング設定を修正 
      • 新規登録時の設定を修正
    • ビューファイルを移設する
      • ログインページを移設する
      • ルート設定を調整
      • ルーティング調整時にエラー発見
    • 新規登録をページ移設する
    • 不要データを消す
      • ルーティング削除
      • アクション削除

今回の目的

新規登録・ログインを行う設定がコマンドによる自動生成カスタム作成の2種類が混在している状態なので1つに統一し、不要な情報を削除する。

なぜやるか

重複した内容がある為、どれが必要でどれが不要かが分かりにくい。

必要でない情報は書くべきではないので削除することで、必要な情報のみを残す。

やりたいこと

混在しているログイン設定を1本化したい

ルーティング設定をスリム化したい

不要な情報を削除したい

やったこと

ログインページ作成状況を確認した

コンフィグ設定をみなおした

ファイルの混在状況を解消した 

続きを読む

Laravel開発、コントローラー・ビュー設定の見直しをする

ここまで作成して、後はユーザー自身の情報が変更できない状態ですので、これを追加することで本アプリ作成は一端完了となります。

が、ここでまたしっかり設計してなかったが為の問題点に気づきます。

DB・コントローラーが不一致

ユーザー所有本はデータベースPropertyに格納してますが、一方でユーザーの本ということでコントローラーはuserを使っていました。 

この後ユーザー情報関連を設定するにあたり、やはりuserを使うのが一番自然であり、他者からコードみてもそれが一番わかりやすいです。

ですので、ユーザー所有本情報にはDBをPropertyとしているのでコントローラーやビューもあわせてPropertyとすべきであり、変更することにしました。

 

 

こちらの内容については詳しくコード等は紹介していません。

Propetyコントローラーを作成し、Userコントローラの情報を載せ替えを行いました。

 

以上の修正を行った上で、ユーザー自身の情報を扱うことがまだできていないので手を加えます。 

Laravel開発、ユーザー所有本を管理できるようにする【5】ユーザ所有本関連ページを作成する

ユーザー所有の本の一覧表示と書籍登録ページの作成まで完了しました。

前回記事はこちら

fippiy.hatenablog.jp

あとは、ユーザ所持書籍の検索や手放した際の所有書籍からの削除といった設定を追加していきます。

  • 今回の目的
    • なぜやるか
    • やりたいこと
    • やったこと
  • 実施内容
    • 書籍検索の実装
    • 書籍詳細ページの作成
    • 本のリスト表示をなおす
      • どのリストも参照先が固定されている
      • ルート情報を利用する
      • ルートパス設定に問題発生 
      • コンポーネントスロットを扱う
    • データベースからIDが正常に取得できない
      • ユーザー所有本IDが表示されていない
      • 問題点を整理する
      • 書籍一覧表示のid取得をなおす
    • 所有情報詳細を登録できるようにする
      • propertyテーブルを利用した表示に変更する
      • 所有書籍追加時に情報を記録できるようにする
    • 所有書籍情報を編集する
    • 所有書籍情報を削除する

今回の目的

所有書籍の情報コントロールを追加する。

なぜやるか

登録と一覧表示しか対応していないため、その他の手順についても実装しユーザーが実施する一連の処理を追加するため

やりたいこと

  • 検索機能をつけて、対象の本をさがせるようにしたい
  • 削除機能をつけて、未所持となった本を削除できるようにしたい
  • 編集機能をつけて、所持数を管理したい
  • 詳細確認ページを追加し、詳細情報を表示させたい
  • 登録機能に保存するデータを追加したい。

やったこと

ユーザー所有書籍について機能実装

  • 書籍検索
  • 書籍詳細ページ
  • リスト表示URLの修正
  • id取得を正常に行う
  • カラムを追加して書籍情報を登録できるようにする
  • 追加カラムの編集
  • 登録情報の削除

 

続きを読む

Laravel開発、ユーザー所有本を管理できるようにする【4】ユーザ所有本を登録する

ユーザー所有の本情報を管理するという工程のなかで、前回ビュー表示の修正をしていました。

fippiy.hatenablog.jp

ビューに関する問題点を解決させたので、今回の実装で一番肝心のユーザーが所有している本を登録する内容を実装します。

※今回より使用エディタを変更していますので、コード画面が変更されています。

 

  • 今回の目的
    • なぜやるか
    • やりたいこと
    • やったこと
  • 実施内容
    • 所有書籍を登録するビューを作成
      • 登録手順を考える
      • 既存ビューを元に所有書籍登録ページを作る
      • コンポーネントに値を引き渡す
    • 書籍登録コントロールを充実させる
      • 重複登録を回避する
      • 全書籍登録済み時の処理

今回の目的

ユーザーが所有している本を登録し管理できるようにする。登録の際には書籍情報として登録されている本を元に登録を実施する。

なぜやるか

所有情報DBを利用してユーザー自身が登録をし管理できる仕様を組み込むため

やりたいこと

登録用フォームを用意して、そこから登録をさせたい

本データを登録しているDBから、任意の本を選択して所有本として登録させたい

所有済みの本は重複登録できないようにしたい

やったこと

登録手順を確認する

登録するためのビューページを作成した

選択した本とユーザー情報を保存させた

登録した本を確認できるようにした

重複登録を回避した

全書籍登録時の処理を追加した 

続きを読む