PHPとMySQLの概要

PHPとMySQLの概要 – メディアデザイン実習Jはじめに
この授業は、ノンプログラマーを対象にしたjQueryの入門・復習を目的としてきました。

ここでは、jQueryに代表されるクライアントサイドのコーディングとは異なる、サーバーサイドの世界について説明します。

サーバーサイドとは
サーバーサイド

サーバーサイドプログラム構築フロー
サーバーにはsshで接続します。
サーバーに、PHP・MySQLなどが適切にインストールされている必要があります。
サーバー上のMySQLは、コマンドラインから操作できます。
ターミナル

phpMyAdminを使えば、ブラウザから簡単に操作できます。
phpMyAdmin_img

空のDATABASEを作成します。(CREATE DATABASE)
テーブルを作成します。(CREATE TABLE)
試しに、テーブルにテストのためのデータを作ります。(INSERT)
サーバーサイドプログラムからデータベースに接続して、このデータを表示してみます。

ログインフォームの例

次に、簡単なログイン画面のコーディングについて考えてみます。

実際にはこの基本的なコードに加えて、
・エラーメッセージの表示
・sessionによるログイン状態の維持
・遷移後のページでsessionからログインしているかどうか確認
・cookieで入力した内容を保存
・セッションハイジャックへの対応
・サニタイズ
  ・クロスサイトスクリプティング(XSS)対策
  ・クロスサイトリクエストフォージェリ(XSRF)対策 ※遠隔操作事件
・パスワードを暗号化する(ハッシュする)
・通信を暗号化する(SSL)
・何度も認証に失敗したら画像認証を表示させる・アカウント凍結
などの処理が必要です。

 

フレームワークを使う意味

このように、ログインフォーム一つ作るだけでも結構大変です。
ウェブプログラムはこのようなお決まりの処理のカタマリですので、もっと簡単に扱えるような仕組みが存在します。
それが、「フレームワーク」および「ライブラリ」です。

「ライブラリ」とは、よく使う機能を簡単に呼び出せるようにした、関数の詰め合わせのようなものです。PHP標準の関数に食わせて、ライブラリで拡張された関数を使うことが出来ます。
「フレームワーク」とは、「ライブラリ」の集合で、PHPであることを意識せずにコーディングすることが出来るまでに便利に関数が詰め込まれた、文字通り大きな「枠組」になります。
jQueryが、JavaScriptの「フレームワーク」であるのと同様です。
WordPressは、フレームワークではなく、完全に構築された「製品」「ソフトウェア」です。
WordPressが、インストールしていじるだけでシステムが完成するのに対し、
フレームワークは、インストールした上で、それを使ってプログラミングをしてシステムを開発していきます。

フレームワーク

今日のウェブ開発においては、何らかのフレームワークを用いてウェブシステムを構築することが一般的です。

言語ごとに、様々なフレームワークが存在します。
http://ja.wikipedia.org/wiki/Web%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF

フレームワークを使うには当然、使えるようになるための学習コストが発生しますが、一度覚えてしまったら高速な開発が可能になります。

フレームワークを理解するには、そのフレームワークのマニュアルを使います。
また、フレームワークという概念そのものに関連する考え方、すなわち「MVC」「OOP」「デザインパターン」といった事柄も基本的に理解しておくとさらに学習がスムーズになるでしょう。

 

以上がPHPとMySQLの大まかなイメージ説明です。
具体的な内容についてはこの授業では触れませんが、興味がある方は一冊本を買えばかなり掴めるはずです。

次のステップとしては、
PHP + MySQLでサーバーサイドをやってみたい | メディアデザイン実習J
http://tokyozokei.sakura.ne.jp/zokei.koekatamarin.com/archives/111
をまず一読してください。

 

さらに今は、オンラインの入門用コンテンツが充実していますので、こういったものを積極的に利用して下さい。

プログラミングのレッスン検索 – プログラミングならドットインストール
http://dotinstall.com/lessons/search#!/filter/PHP

PHPの学習ならPHPBook
http://www.phpbook.jp/


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です