初めてPHPを覚えるとき、どこか開発会社に入って開発にかかわる場合はフレームワークの使い方とか、現場に放り込まれてある程度覚えることはできると思います。そしてイヤでも勉強をしなくてはいけないのでいつの間にか身についている、というのがほどんどだと思います。
自分はPHPで色々作ってきたのですが、最初はどうやって覚えたのかなと思いまして、初心者にお薦めの方法を考えてみました。
■目次
1.初めて作る場合はお問合せフォームを作ってみるべし
2.ページの骨格とイメージを考える
3.開発環境はどうするか
4.まとめ
1.初めて作る場合はお問合せフォームを作ってみるべし
お問合せフォームっていうと判らないかもしれません。
企業サイトなどで、サイトの運営者に、「質問」や「意見」のメールを送るメール送信フォームです。
このページには、PHPを勉強するための多くの要素が詰まっています。
2.ページの骨格とイメージを考える
では、多くの要素とは何でしょうか。
例えばお問合せフォームのイメージとして、
下記の様な画面遷移で(a)~(c)のようなページが3つあるとします。
(a)form.php (入力画面)
↓
(b)comfirm.php (入力内容の確認)
↓
(c)complete.php (完了画面・メール送信)
これら3つの画面において、一般的な入力フォームの内容を考えて掘り下げてみます。
(a)の入力項目
・お名前
・ご連絡先メール
・ご連絡先電話番号
・お住いの都道府県のプルダウン(北海道~沖縄県)
・お問合せ内容の種別選択のラジオボタン(質問/ご意見/その他)
・規約に同意するチェック(チェックボックス)
・お問合せ内容
↓
(b)入力内容の確認画面(表示のみ)
・(a)で入力された内容の表示
・オプション:入力が正しくされたかチェック(バリデーション)。
↓
(c)お問合せ完了画面(メール送信)
・(a)で入力された内容の表示
・(a)で入力された内容を「サイト管理者」と「問い合わせする人」にメールを送信
・オプション:入力内容をデータベースに保存する
■(a)~(c)で勉強できるコードは下記の様な項目になります。
(a)で使うコード
・HTMLでの<form>タグの使い方。POST、GET、(REQUEST)の使い分け方
・<input><select><radio><checkbox><textarea>タグ
(b)で使うコード
・入力内容を受け取る(POST・GET・REQUEST)
・入力内容を変数に入れる、
・変数の内容を表示
・(a)で入力された内容について、入力の有無
・(a)で入力された内容について、電話番号の形式チェック
・(a)で入力された内容について、メールアドレスの形式チェック
(c)で使うコード
・(a)で入力された内容について変数に入れる
・(a)で入力された内容について変数に入れたものをメールで送信する
・(a)で入力された内容について変数に入れたものをデータベースに入れる
3.開発環境はどうするか
PHPの開発(練習)環境としてよく挙げられるものとして下記があります。
他にもありますが、メイン所だけを紹介して他は割愛します。
・XAMPP(ザンプ:windows用)/MAMPP(マンプ:Mac用)
・Vagrant(ベイグラント)
・Docker(ドッカー)
これらは、自分のパソコンの中にサーバにして、PHPが動く環境を整備するというものです。
XAMPP/MAMPP … 自分のパソコン(Windows, Mac)にサーバ公開用のソフトをインストールするイメージ
Vagrant, Docker … 自分のパソコン(Windows, Mac)上で、Linuxを仮想的に動かしてそこでWebサーバを動かすイメージ
難易度としては、XAMPP/MAMPPが一番簡単で、下記のとおりです。
XAMPP/MAMPP < Vagrant < Docker
さて、これらはお問合せフォームなので、設置したサイトの管理者にメールを送信することが目的なのですが、結局自分のパソコン内でサーバ環境を動かさなくてはいけないので、「外部にメールを送信する」といったことがうまくできないことがあります。
更に、Vagrant, Dockerはサーバ操作の知識も必要になってくるので、初心者にはちょっとハードルが高いのではと思います。
そのため、初心者にお勧めするのはお金を払ってレンタルサーバを借りるのが良いと思います。
レンタルサーバであれば、月額辺り1000円程度で、PHPのからレンタルサーバ経由でメールを送信できますし、データベースも既に用意されているものが殆どです。
おススメのレンタルサーバは、Xサーバ、Heteml、お名前.comレンタルサーバあたりかと思います。
この辺りは、Linux等で構築されているはずですが、管理パネルがきちんとあり、マウスでポチポチやるだけで設定して使えるので、サーバの知識は殆ど要りません。
ただし、開発会社など企業内での開発環境はDockerまたはVagrantが殆どだと思いますので、掘り下げて学習したい方はそこから手を付けていくのもアリだと思います。
まとめ
PHPを勉強するとき、最初は教科書を読んでそれを一つ一つ進めていくことも大事だと思いますが、
その後は「お問合せフォーム」の様なものを作ってみると、PHPで何かモノを作るときの要素が沢山詰まっているので、勉強になる。
勉強するには、開発(練習)環境が必要になりますが、初心者は「XAMPP/MAMPP」か、レンタルサーバを借りることをお勧めします。