見出し画像

第111回:PHPでクイズアプリ開発ver3.0。

こんにちは。NGE16です。

今回からクラスを作成して、システム開発を行なっていきたいと思います。

クラスの作成

クラスを読み込む記述を加えていきます。

require_once(__DIR__ . '/Quiz.php');

インスタンスを作成していきます。

$quiz = new MyApp\Quiz();

データの取得をquizメソッドに変更していきます。

$data = $quiz->getCurrentQuiz();

quiz.phpを作成して、クラスを作成します。
index.phpの記述も同時に移動させます。

<?php

namespace MyApp;

class Quiz {
  provate $_quizSet = [];

  public function __construct() {
    $this->_setup();
    $current_num = 0;
    
  }

  private function _setup() {
    $this->_quizSet[] = [
      'q' => 'Aの答えは??',
      'a' => ['A0', 'A1', 'A2', 'A3']
    ];
    $this->_quizSet[] = [
      'q' => 'Bの答えは??',
      'a' => ['B0', 'B1', 'B2', 'B3']
    ];
    $this->_quizSet[] = [
      'q' => 'Cの答えは??',
      'a' => ['C0', 'C1', 'C2', 'C3']
    ];
  }
}

getCurrentQuizクラスを作成します。

public function getCurrentQuiz() {
  return $this->_quizSet[$_SESSION['current_num']];
}

コンストラクタにセットしていくために、以下の記述を加えていきます。

if (!isset($_SESSION['current_num'])) {
  $_SESSION['current_num'] = 0;
}

jQueryの導入

クイズの選択肢をクリックした時に処理を加えていくために、jQueryを導入していきます。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

自分で作る処理は別のファイルとして読み込む設定を行います。

<script src="quiz.js"></script>

quiz.jsを作成して、以下の記述を加えていきます。

$(function() {
  'use strict';

  $('.answer').on('click', function() {
    var $selected = $(this);
    var answer = $selected.text();

    $.post('/_answer.php', {

    }).done(function(res) {
      if (answer === res.correct_answer) {
      } else {

      }
  });

});

今回は以上になります。

次回は、Ajax処理や正誤処理を行なっていきたいと思います。
"PHPでクイズアプリ開発ver4.0。" へ続く。

この記事が気に入ったらサポートをしてみませんか?