技術メモ

【Laravelアプリ】ユーザー名変更機能!

こんにちは。プログラミング初心者のmomoもも(@momo_programer)です🍀

 

さて今回は、ログイン認証機能を持たせたアプリを作った人向けの内容です。

 

ユーザー名を変えたいな~と思うこともあると思うので、設定してみました。

 

参考になればと思います~。

ルーティングの設定

今回使うのはusersテーブルのnameカラムを利用するので、特に新しくマイグレーションファイルなどは作成しないですね。

 

ルーティングを設定しないと指定のbladeファイルを読み込んでブラウザで確認することが出来ないので、やっていきます。

 

今回ルーティングで設定したいアクションは、edit(編集画面)・update(編集を処理する)の2つです。

 

 

25行目か26行目の書き方どちらでも大丈夫です。もう設定済みで変更が必要ない人もいると思います。

 

onlyの役割を今まで知らずに使っていましたが、onlyでアクションを指定すると、/usersというルーティングで来たときは、indexとshowアクションしかないですよ~的な意味合いになるそうで(?)

 

今回みたいに、7つのアクションのうち4つもあるなら、onlyの意味はあんまりないかなと思って25行目の形にしました。

 

25行目のだとシンプルなので、チーム開発のときには逆に分かりづらいとかになってしまうのかな?

 

ひとまず、ルーティングはこれでOKです。

bladeファイルで見た目を作る

ルーティングを設定したら、controller@edit,updateの処理を書いていくのが一般的な開発の流れです。

 

私は、処理を細かくちょっとずつしか書きたくないため、bladeファイルを先に作って、エラーを最小限にしながら作っていこうと思います。

 

はい、こんな感じですね。

 

Form::modelを使っていますが、Form::openで書く場合との違いは、元データがあってそれを利用する場合はmodel、新しくデータを作る場合はopenです。

 

なので、新規会員登録のときはopenで書き、登録の変更をするときはmodelで書く、といった具合ですね。

 

また「*必須」の文字はsmallで書くとCSSのfont-sizeなどいじらず少し小さめの文字になります。文字サイズ変えたくない場合はdivタグやspanタグなどで書くといいと思います。

ナビゲーションバーにリンクを付ける

bladeファイルが出来たら、そのページに遷移できるようにリンクを用意します。

 

今回は、ナビゲーションバーのプルダウンメニューに「登録情報変更」を追加しました。

 

こんな感じです。(コードは参考までに)

コントローラー@editを作っていく

やっとシステム部分ですね。

 

まずは、機能よりもブラウザを表示させることだけを考えます。

 

 

これだけでブラウザ表示だけは出来ると思います。もしできない場合はルーティングがおかしかったりして、勝手にcollectionクラスが出来上がってたりしますので、bladeファイルのsectionの冒頭にdd($id)など入れてみてどんな情報が届いているか確認しましょう。

コントローラー@updateを作っていく

editはこれで完成しました。ページを読み込むだけ。

 

updateでは、ユーザーからHTTPリクエストが来て、それをレスポンス(処理をして値を再度返してあげる作業)を作る必要があります。

 

つまり、ボールを受け取め、投げる!みたいな作業を担ってくれるのがupdate。

 

やっていきます。

 

 

editの下に書きました。こんな感じですね。

 

$requestの中には、ユーザーが新しくしたい名前を書いて送ってくれたものが値として入ります。

 

validateというのは、変な名前じゃないかチェックする役割。半分うそです。笑

 

名前が空の状態じゃないか(required)と文字列(string)かどうか、名前が255文字(日本語は一文字3バイトかかるので、255÷3で85文字までOK)以下かどうかをチェックします。

 

これをやることでトラブルを未然に防げます。

 

(commentが入ってますが、これは次の記事で紹介します)

 

これで完成です。

まとめ

ルーティングを良く分かってないと、私みたいに「名前変更機能」で半日つまずくことになります(笑)

 

ぜひ参考にしてみてください。

 

次回は、一言コメント機能を付けてみたいと思います。これもねー、変に考えすぎてたり、少し新しい事も学べて楽しかったですねー。

ももの公式メールマガジン

プログラミングに興味がある人やプログラミング学習を始めた人のために、

とっても大切なマインドについて公開しています。

 

私が思うに、マインドが整っていれば、どんな手段から学べます。

 

無料で学習しても、プログラミングスクールで学習したとしても自分の力にしていけます。

 

でもマインドが整っていないと、せっかくプログラミングスクールにお金を払っても、うまくいかなくて泣く思いをしてしまいます。

 

そんな風になってほしくないから、メルマガを始めました。

 

詳細はこちらのページを覗いてみて下さい^^

COMMING SOON...

-技術メモ

Copyright© とある新人SEは、走らない。 , 2021 All Rights Reserved Powered by AFFINGER5.