PHP データベース を利用したWebアプリケーションの開発【第一回】データベースへの接続

前回、データベース に接続し情報のCRUD(Create[登録]、Read[読み取り]、Update[更新]、Delete[削除])を解説しました。

今回から全5回に分けてデータベースを利用した簡単なWebアプリケーションの開発を解説したいと思います。

この記事の著者 ->S.E; です。

普段は、システム開発に必要なヒアリング、システムの要件定義、設計からプログラマとしてWebサイトやWebアプリケーションの開発、WordPressでのブログの執筆やサーバー運用・管理を行っています。

このページは「未経験の為のプログラミング講座 ゼロから始めるPHPプログラミング〜初級から実践編までを網羅〜」としてPHPの基本的な部分を【初級編】【中級編】【上級編】に分けて解説しています。最終的には簡単なフォームやシステム開発をフルスクラッチで行うことを目的としています。また、参考になる書籍なども紹介しています。

開発するアプリケーション

今回開発するWebアプリケーションは、簡単な会員登録を行い、一覧表示、更新、削除を行える仕様で開発したいと思います。

会員情報の詳細は前々回作成した データベース、テーブルの情報を再利用したいと思います。

項目カラム名内容
プライマリキーtest_id個別のIDを自動連番で登録
名前test_nameユーザーの名前
年齢test_ageユーザーの年齢
性別test_genderユーザーの性別 1 or 2で登録(1 => 男性、2 => 女性)
電話番号test_telユーザーの電話番号
登録日test_createyyyy-mm-dd hh:ii:ss形式で登録
更新日test_update更新時自動でyyyy-mm-dd hh:ii:ss形式で登録
削除キーtest_delete_key0 or 1を登録( 0 => 有効、1 => 削除)
データベースの内容

システム開発時に作成するページ一覧

会員登録のWebアプリケーションを開発するにあたり、必要なページを洗い出します。

  • 会員登録ページ
  • 会員一覧ページ
  • 会員情報更新・削除ページ

上記のページが必要なページとなります。
ではそれぞれのファイル名を下記のようにします。

  • 会員登録ページ:create.php
  • 会員一覧ページ:list.php
  • 会員情報更新・削除ページ:edit.php

上記のページに加えて、データベース接続用のクラスファイルと、会員情報のCRUDを記述するクラスファイルを

  • データベース接続:class.DB.php
  • 会員CRUD:class.Member.php

としたいと思います。

データベース接続スクリプトのクラス化

それでは、前回解説したデータベースへの接続用スクリプトを使い回せるようクラス化したいと思います。

前回の手続き型スクリプトの内容

上記のスクリプトをクラス化したいと思います。
PHPのクラスに関しての詳細は「クラス〜オブジェクト指向プログラミング〜」を参照してください。

クラス化に伴いclass.DB.phpの作成

では、class.DB.phpファイルを作成し、データベースへ接続するためのクラスを記述します。
__construct()」はclass.DB.phpを呼び出した時点で実行される内容を記述します。
下記では、$_dsn の文字列を生成しています。

データベース接続部分の「if( !$this->_pdo ){〜}」は既にデータベースに接続した状態の場合は、再度接続しないようにするための条件分岐です。

下記のクラスで メソッド:ConnectDB を実行すればデータベースへの接続が完了します。

これで、データベース接続部分はclass.DB.phpをCRUD(Create[登録]、Read[読み取り]、Update[更新]、Delete[削除])で使い回すことができます。

可能な限りフロント部分にはプログラムを記述しない

一覧ページや更新ページなどはHTMLやCSSが記述されています。
その中にさらにPHPのコードが入ると非常に複雑なソースになってしまうため、極力PHPのスクリプトは外部ファイルでクラス化することをお勧めします。

created by Rinker
PHP7の基本構文から、クラス、DB連携、セキュリティ対策まで、しっかり習得! PHPプログラミングの標準教科書『独習PHP』が、最新のPHP7に対応。PHPでWebページ/アプリケーションを開発する際に必要な基礎的な知識、PHPの基本構文から、クラス、データベース連携、セキュリティまで、詳細かつ丁寧に解説します。
created by Rinker
時間がなくたって、プログラミングは学べます。学習を躊躇していた人たちに、既存の入門書で挫折した人たちに、「これならできる!」の最短カリキュラムを、土日の14時間で提供。まったくのプログラミング初心者が簡単なWebデータベースアプリを構築できるまでの成長コースを、手取り足取り、導きます。

コメントする

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)