CodeIgniter3のチュートリアルをリファクタリング(5)

クリスマスイブですね!
みなさま今日はケーキの準備は万全ですか?

この記事はCodeIgniterアドベントカレンダーのために書きました! 24日目です!
https://qiita.com/advent-calendar/2017/code_igniter

CodeIgniter3のチュートリアルをリファクタリング(4) ではデータベースの準備まで終わりました。

やっとコードを書いていきますよ!

今日のテーマは

ログイン機能を作りながら、viewファイル使ってみよう!

です

各画面のURLを決めます。
要件定義で書いたIFDAM図を元に、起点となる画面とURL考えます。

(1) ログイン /login
(2) ログアウト /logout
(3) 記事一覧 /news/
(4) 記事詳細 /news/detail/{記事のslug}
(5) 新規投稿フォーム /news/create
(6) トップページ /

ログイン機能 / ログアウト機能

まずはログインログアウト機能を作成します。
ログインしている状態、していない状態について決めます。
(詳細設計ですね)

  • ログイン状態の管理はsessionで行います。
  • user.idとuser.nameをsession中で保持します。
  • この情報がsessionの中にあり、DBにも存在していればログインしている状態とします。
  • IDはemailを利用します
  • パスワードは暗号化して保存します。
  • 暗号化のキーは、configで設定する暗号化キーと、ユーザ別のsaltキーで作成します。

Controllerを作成

application/controller/Auth.php

ルーターの設定

application/config/routes.php
ログイン、ログアウトのURL用意しますね。

http://{設置した場所}/login
http://{設置した場所}/logout
それぞれで、login logout の文字は表示されましたね!
次はviewファイルを用意しますよー

画面の用意

まずは、login画面から作っていきましょうか!
viewファイルは、application/viewsフォルダの中に作ります。
機能に分けてviewファイルをフォルダ分けしたほうが後で探しやすいので、Authフォルダを作りその中にlogin用のviewファイルを用意しますね。

application/views/Auth/login.php

表示するHTMLを用意します。

このHTMLをloginへアクセスがされた場合に表示をしてみます。

http://{設置したURL}/login

ここまでは表示されたでしょうかね?

(次に続きます)