PHPの勉強方法・手順を解説!勉強におすすめの学習サイトや書籍も紹介
PHPを習得することで、SNSやECで必要となるお問い合わせフォーム、ログイン機能を作成できます。PHPの習得には150〜250時間程度の勉強が必要と言われており、1日2時間勉強した最低でも2か月以上の期間が必要です。書籍や学習サイトを利用して、効率的に学習を進めると良いでしょう。
本記事ではPHPの習得を目指すための勉強方法を中心に、PHPの勉強におすすめな書籍や学習サイトについてご紹介していきます。PHPの取得を目指している人は参考にしてみてください。
目次
目次を閉じる
PHPを勉強するとどんなものが作れるようになる?
PHPはサーバーサイドで動くスクリプト言語で、ウェブサービスやウェブアプリの作成に欠かせないものであるため、世界で高いシェアを誇っています。
ブログやSNS、ECサイトなどを作る上で必要となるお問い合わせフォームやログイン機能などもPHPで作られている場合がほとんどです。
また、世界的にシェア率の高いオープンソースブログソフトであるWordPressもPHPで開発されているため、PHPが使えるとWordPressを自由にカスタムすることができます。
PHPの勉強方法
PHPの学習方法は、定番の書籍を活用した方法をはじめ、近年増えてきているプログラミングの学習サイトを使ったり、スマホアプリを使ったりする方法など、さまざまな方法が挙げられます。
また、学習サイトやスマホアプリの中には初級のみ無料で、さらに上を目指す場合には料金が発生するというものもあります。お金をかけるかどうかも学習方法選択の基準になるでしょう。
プログラミングに限らずどんな勉強でも継続して行うことが上達のカギになります。より継続しやすく、自分の勉強スタイルに合う方法を選択しましょう。
書籍を活用する
PHPは日本で人気のある言語の1つです。そのため学習用の参考書籍は豊富に揃っているので書籍を使った勉強方法はおすすめです。
PHPに触れるのは初めてという人のために環境開発から教えてくれる初心者向けの書籍、すでに基礎はわかるけどもっと深く知りたいという人向け、文法だけを収録した中級・上級者向けのものまであります。自分のレベルに合う書籍を選びましょう。
書籍で勉強する場合には発行年やPHPのバージョンを必ず確認してください。PHPはバージョンの違いによってプログラムの仕様が異なることがあります。
発行年の古い書籍の場合、旧バージョンのPHPを使っているため、新しくインストールしたPHPでは正常に動作しないということも起こりうるため気をつけましょう。
学習サイトを活用する
PHPの基礎から学びたいという人には書籍での勉強方法と並んで、オンラインの学習サイトもおすすめです。
特に企業が運営している学習サイトは情報の正確性が高く、新しいバージョンにアップデートされたときにすぐに情報が更新されたり、人気のPHPフレームワークなども解説されたりしています。
学習サイトにはいくつかタイプがあります。文章とソースコードで説明してくれるサイトや、コーディングしながら説明してくれる動画サイトなどさまざまです。
Progateのように自分の理解度を確認しながらインプットとアウトプットを繰り返すものや、ドットインストールのように1つのレッスン動画の時間が短く、隙間時間にサクッとインプットできるものなどがあります。
企業の学習サイトでも初歩は無料で学べるものも多くあります。とりあえず無料で試してみて、自分の学習スタイルに合うかチェックするのもいいでしょう。
中には個人で運営している学習サイトもあり、基礎から上級までを網羅したサイトもあります。個人サイトで学習する際の注意ですが、情報が正確でないことがあるため、複数のサイトを見て、正しい情報を収集するようにしましょう。
スマートフォンの学習アプリを活用する
PHPを手軽に学ぶ方法としてはスマホアプリが最適です。スマホならいつでもどこでも学習ができるため、通勤通学中やちょっとした空き時間にPHPを学ぶことができます。
スマホでの学習アプリにはProgateやSololearn、Programming Hubなどがあります。ただしProgate以外の2つは日本語対応しておらず、英語のみになります。コード自体はどの言語で説明されていても変わらないですが、気になる人は日本語対応しているアプリを選びましょう。
上記で紹介した3つのアプリはパソコンでも使うことができます。そのため、外出先ではスマホでサクッと、自宅ではパソコンでしっかり学習と、使い分けすることも可能です。
サンプルのコードを模写する
ある程度基礎が身についたら、サンプルコードの模写をしてみましょう。模写というのは、書籍や学習サイトなどに載っている既存のコードを自分でアレンジしてみることです。模写コーディングを繰り返し行うことで構文への理解が深まります。
また、自分でアレンジしたプログラムが思った通りに機能することが自信につながり、勉強のモチベーションにもなるでしょう。
▼関連記事
PHPとは何か?どのようなプログラミング言語か、周辺情報含め日本一わかりやすく解説!
PHPを勉強する手順
PHPを学習するにあたり、さまざまな予備知識や周辺知識が必要になります。PHPはウェブサービスに使われる言語なので、サーバーやデータベースの知識、さらに、ユーザーに対して表示されるページを作るHTMLやCSSなどの知識も必要です。
そこで、具体的にどのような知識が必要になるか見ていきましょう。
HTML・CSS・JavaScriptをまず勉強する
PHPを学ぶにあたり、まずはHTMLとCSSの知識を備えましょう。PHPはサーバーサイドで動く言語ですが、ユーザーが操作した内容をデータベースに登録したり、サーバー側で処理した結果をユーザーに返したりなど、ユーザーとのやりとりが行われます。
ユーザーが結果を見たり、フォームに情報を入力したりするフロントとなるのがウェブページであり、ウェブページはHTMLやCSS、JavaScriptで作られています。
あくまでPHPの学習がメインなので完璧に理解する必要はありませんが、大まかな仕組みや構造、文法だけでも知っておくとスムーズにPHPを組み込むことができるでしょう。
PHPの基礎的な文法を学ぶ
続いて、メインとなるPHPの基礎文法を学習しましょう。PHPの構文は非常にシンプルで、PHPを初めて学ぶ人でも他の言語に比べて理解しやすい言語といえます。
基礎構文には、変数、繰り返し処理、条件分岐、関数などがあります。PHPは型宣言が要らない動的型付け言語なので、C言語やJavaのように型指定についてしっかり覚える必要がありません。シンプルな構文は覚えることが少なく、エラーにつながるミスを抑えることができます。
学習サイトの中には基礎だけ無料で受講できるものもあります。コーディングしながら教えてくれるため、基礎講座を公開しているサイトを探してみても良いでしょう。
PHPを扱う環境を構築する
PHPを動かすには、PHPをダウンロード・インストールして、システム環境変数を設定したり、テキストエディタを用意したりと下準備が必要です。
PHPの環境は、WindowsやMac、LinuxなどのOS上に構築します。OSの種類によって環境構築の方法に違いがあるため、自分のOSに合わせて設定しましょう。
変数や条件分岐について学ぶ
PHPで変数に値を代入するには、ドル記号($)のうしろに変数名を書き、変数名に続いてイコール(=)と値を記述します。
$変数名 = 値;
変数名は大文字小文字を区別するため、変数を使うときには気をつけましょう。また、変数には数値、文字列、配列を代入できる他、変数に値自体を渡さずに別の変数への参照を渡すこともできます。これを参照渡しといいます。
条件分岐には、if構文を使います。条件式がtrueと評価された場合に指定した処理を行います。
if (式)
文;
基本構造は上記の通りシンプルです。Falseと評価された場合の処理も指定する場合にはelseを使います。$aが100より小さい場合「aは100未満です」と表示し、$aが100より大きい場合、「aは100以上です」と表示する場合には以下のようになります。
if ($a < 100){
echo "aは100以下です\n"";
}else{
echo"aは100以上です\n"";
}
関数について学ぶ
関数を定義するときは、関数を表す英語functionを使います。
function 関数名(引数 ){
処理
}
りんごの値段を出力する関数を例に具体的な使い方を見てみましょう。
function ApplePrice(){
$AP = 200;
echo "りんごの値段は". $AP ."です。";
}
関数はそれだけでは機能しないため呼び出す必要があります。関数の呼び出しは、ApplePrice();で実行します。すると、「りんごの値段は200円です。」と表示されます。
クラスについて学ぶ
クラスの定義は、classのうしろにクラス名を書き、クラス名に続けて波かっこ{}と、その中にクラスのプロパティ(クラスの中の変数)とメソッド(クラスの中の関数)を記述します。
class クラス名{
プロパティ
メソッド
}
クラスを使用するにはnewというキーワードを使って、クラスのインスタンスを生成します。
$インスタンス名 = new クラス名();
また、インスタンスのプロパティとメソッドを参照したいときはアロー演算子(->)を使います。
$変数名 = インスタンス名 -> プロパティ;
$変数名 = インスタンス名 -> メソッド();
他にもプロパティやメソッドのアクセス権の指定や、インスタンス生成や消滅時に動くコンストラクタ、デストラクタという特別なメソッドなどもあります。
ファイル処理について学ぶ
PHPでテキストファイルやCSVファイルなどを読み込む方法は2通りあり、いずれもファイルシステム関数を使います。
まずはファイルの中身を1行ずつ取得する方法です。fopen関数でファイルを開きます。引数には、ファイル名とモードが指定できます。ファイル名は開きたいファイルの名前、モードは読み込み、書き込みなどの動作を指定します。
そしてfgets関数を使って1行ずつファイルの内容を取得します。最後にfclose関数を使いファイルを閉じましょう。
もう1つはファイルの内容をすべて読み込む方法です。こちらはfile_get_contents関数を使い、引数にファイル名を指定します。するとファイルの内容をすべて文字列で読み込んでくれます。
HTTPリクエストについて学ぶ
HTTPリクエストは、ウェブサービスを作る言語であるPHPを学習する上で欠かせない知識の1つです。クライアントからサーバーに対して欲しい情報を要求することをHTTPリクエストといいます。逆に、サーバーからクライアントに対して、要求された情報を返すことをHTTPレスポンスといいます。
HTTPリクエストの学習では特に、指定されたウェブサイトの内容を取得するGETと、クライアントからの入力内容をウェブサーバーに送信するPOSTという2つの代表的なメソッドについて理解しましょう。
GET、POSTを使うことで、フォームで送信した内容を別のページで共有したり、データベースに蓄積したりすることができるようになります。
データベースについて学ぶ
PHPでは、ECサイトやSNS、社内管理システムなどを作ることができますが、これらを管理するには適切な情報を素早く取り出さなくてはなりません。そのために使うのがその名の通り、データを蓄積するためのソフトウェアであるデータベースです。
アカウント情報や顧客情報、商品の在庫状況などをデータベースで管理し、PHPを使って欲しい情報を取り出す、データベースに情報を追加、データベース内の情報の削除や変更などを行います。
もっともメジャーなデータベースとしてはMySQLが挙げられます。データベース操作にはSQLクエリという特殊な言語を使うため、データベースを利用する際には新しく覚えなくてはなりません。
フレームワークについて学ぶ
フレームワークとは、ウェブアプリケーションを開発する際に頻繁に使われる機能を簡単に実装できる骨組みのことです。
複雑なコードを時間をかけてゼロから自分で書かなくても、用意されているコードを再利用するため、短い時間で機能を作ることが可能になります。
また、複数人で1つのウェブサービスを共同開発する際に同じフレームワークを使うことでコードに統一性を持たせることができるのもフレームワークを使う利点です。
PHPフレームワークの中では、LaravelとCakePHPが特に人気とされています。
フレームワークは便利なサービスではありますが、データベースと同じように独自の記述法があるため、PHPの学習とは別にPHPフレームワークについても学習する必要があります。
成果物をゼロから作ってみる
ひと通りの学習が終わったら復習を兼ねた総仕上げとして、成果物を作ってみましょう。何を作っていいかわからないという人は、既存のウェブサービスを参考にして作ってみると良いでしょう。
自分のスキルと知識で作れそうなウェブサービスを参考に、自分なりのアレンジを加えたオリジナリティのある新しいウェブサービスを作ってみましょう。
はじめはしっかりしたサービスができなくても構いません。学んだ知識でできる範囲のパーツを組み合わせて作れるものを仕上げましょう。
PHPの勉強におすすめの書籍
PHPは人気の言語なので書籍の数が非常に豊富です。たくさんありすぎてどの本を購入すればいいのかわからない人もいるのではないでしょうか。
書籍を選ぶ際には自分のレベルに合うものを選ぶことが重要です。PHPは初めて勉強するという人は初心者向けを選び、まずはPHPの基礎構文や周辺知識を学びましょう。
また、プログラミングは実際に手を動かしてコードを書くことで習得しやすくなるので、演習用のコードが多いものが理想的です。
ここでは特にPHPを新しく学習する人向けにおすすめの4冊を紹介します。
PHPの絵本~Webアプリ作りが好きになる9つの扉
イラストや図をふんだんに使って解説されたPHPの教科書です。
タイトルの通り、絵本のようにたくさんのイラストが使われており、難しい概念でも内容が的確にイメージできるような構成になっています。
PHPに初めて触れる人はもちろん、途中まで勉強したけど諦めてしまった人や、何となくの知識はあるけど自信がないという人が改めて学習するにも最適な1冊です。
PHPについてだけでなく、PHPを使う上で必要なHTMLやCSSの基礎知識も冒頭で説明してくれます。
イメージがバラバラにならないように見開き2ページで1つの話題が完結するように配慮されています。また、サンプルコードと実行結果が横並びになっているのもポイントです。
いきなりはじめるPHP ワクワク・ドキドキの入門教室
著者の谷藤賢一氏はIT教育やキャリア支援の教室、セミナー活動などを行い、独自のメソッドで、1日でウェブ画面と簡単なデータベースまで作れるようになるPHPの速習コースを教えています。そのメソッドを凝縮したのが本書です。
まずは何かを作ることでプログラミングの世界を体験してみようという内容になっています。
ほとんどの入門書ははじめに基礎構文を学習しますが、本書ではパソコンの設定が完了したら、まずは簡単なアンケートシステムを作ります。書いてある通りに手を動かしていくと、何でそう動くのかと疑問に思うことが出てきます。
そのときには自分で調べます。そうして理解したときに基礎を学ぶことができるというのが本書の方針です。手を動かし、調べながら、無理なくPHPとMySQLが学べるようになります。
また、エラーで躓いてしまって先に進めないということのないように、プログラミング教室でよく見られるおなじみのエラーパターンを解説し、解決するためのコラムも掲載しています。
スラスラわかるPHP 第2版
PHPプログラミングとウェブアプリケーション開発に必要な基礎知識を詰め込んだ入門書です。第2版は現時点で最新環境のPHP8へ対応した内容に改訂されており、最新環境のPHPを学びたいという人に最適です。
第1章ではインターネットの仕組みについて、第2章ではプログラミングに必要なソフトウェアなどの知識を学び理解を深めます。第3章以降でPHPの環境設定や基礎構文の学習を行います。
PHPの基礎をひと通り覚えたところで、実際に手を動かしてウェブアプリケーション作成を行います。企画・設計、デザインの段階から行い、架空のテニスサークルが利用するウェブサイトを作っていきます。
お知らせ機能や、チャット掲示板、アルバム、ログインなどの機能を持った交流サイトを作ることで、PHPだけでなくデータベースやフォーム、セッションなどの知識も身につきます。
さらに、セキュリティに対する知識など発展的な内容にも踏み込み、PHP初心者が、中・上級者を目指すために必要なポイントも教えてくれます。
専門用語の解説や、今後知っておいた方が良い知識を教えてくれるコラム、理解度を計るためのチェックテストなど、より深くPHPを理解できるようになっています。
確かな力が身につくPHP「超」入門
本書では、アウトプットしながらインプットするというように、サンプルコードを動かしながら基本構文を学び、その構文が使われる場面も具体的に勉強できます。
イントロダクションでは、PHPで何ができるのか、PHPが動く仕組み、他のプログラミング言語との違いを解説し、PHPという言語への理解を深めます。
そして、最初はブラウザ画面上にメッセージを表示させるという簡単なものからスタートし、ユーザーが入力した文字を画面に表示させるというようにステップアップしていきます。
本の中盤では、セレクトボックスやラジオボタンなどウェブページに配置するさまざまなパーツの入力処理や、メール送信、ファイルの読み書きなど、ウェブサービスを作るのに必要な知識を学びます。
最後にはデータベースの扱い方を覚えて、ショッピングサイトを作ります。顧客の情報管理や商品の管理、ログイン機能やショッピングカートなども実装し、実用的なアプリケーションの作成まで教えてくれます。
PHPの勉強におすすめのサイト
プログラミングへの関心が高まる中、オンラインのプログラミング学習サイトが増えてきています。PHPはさまざまなウェブサービスの開発現場で必要とされる言語であり、その需要の高さから学習サイトの数が豊富です。
PHP初心者の人が基本構文を学んだり、PHP経験者の人でもさらなるスキルアップを目指すことができるなど、幅広いレベルの人が目的に合わせたサイトを利用できるようになっています。
このセクションでは、代表的な学習サイト5つを紹介していきます。
Progate
ProgateのPHPのレッスンは5コースあります。PHPに必要な知識をインプットする学習レッスンが4つあり、基礎的な構文知識、オブジェクト指向などを勉強します。
このレッスンでは料理注文サイトを作りながら、オブジェクト指向への理解を深められる構成になっています。
オブジェクト指向は難しい概念ですが、料理注文サイトを完成させることをゴールにして、楽しく学習しましょう。
また、学んだ知識を応用するコースには演習問題が用意されているため、理解度をチェックしながら学習を進めることができます。
ドットインストール
ドットインストールは、約3分ほどの短い動画でプログラミングを勉強できるという学習サイトです。はじめてのPHPというコースは無料での視聴が可能で、PHPの基礎が簡潔に解説されています。
また、PHPのコースをスタートするにあたって前提知識が必要な場合には、その前提知識が学べるコースを教えてくれます。開発環境が整っていない場合や、HTMLについて全くわからないという場合には先にそちらのコースを受講しましょう。
PHPを基礎だけでなくさらに深く学びたい人向けに詳解PHPというシリーズやPHPで作る簡易掲示板というコースもありますが、プレミアム会員限定で受講できるコースなので有料サービスとなっています。
CODEPREP
CODEPREPは無料で使える学習サイトです。ブックと呼ばれるレッスンの単位で構成されており、学習者は学びたいテーマに沿ったブックを選択します。
それぞれのブックに、難易度、終了時間、チャプター数が記載されているので、自分のレベルにあっているか、どのくらい時間がかかるのかが一目でわかります。
最初はヒントを見ながら穴埋め形式のクイズに答えていき、プログラムの動きを理解することからはじめます。穴埋めができたらコードを編集し実際の動きを確認します。
PHPのコースには、PHP入門基本操作編とPHP実践カレンダー実装編の2つがあります。
また、受講者同士でのディスカッションの場も用意されているため、勉強していてわからないことがあったら、仲間に質問することもできます。
Codecademy
Codecademyは、世界的に有名な学習サイトです。日本語には対応していないので、英語が苦手な人は翻訳機能などを活用しましょう。PHPの基礎を学べるコースには現在9つのレッスンがあります。
コーディングする際には、構文などの説明のあるセクション、コードを書くセクション、コードを実行した結果が表示されるセクションと、3つのセクションが横並びになっているため、説明を見ながらコードを書き、実行結果も確認できるようになっています。
paizaラーニング
paizaラーニングは、1動画約3分で学習できる学習サイトです。動画ごとに、その動画の内容を補う補足テキストや演習課題が用意されているため、基礎だけでなく応用力も鍛えることができます。
わからないところがあったら、プロのエンジニアに質問することができるので躓いてしまって先に進めないということがありません。
PHPの講座としてはPHP体験編、PHP入門編の他、ウェブ技術入門編やウェブセキュリティ入門編、ウェブアプリ開発入門などのPHPの周辺知識も用意されています。
完全無料の講座はPHP体験編のみです。他の講座は有料または一部無料となります。
PHPの公式ドキュメントやITエンジニア向け質問サイト・Qiitaなども活用しよう
Qiita(キータ)は、エンジニアに関する知識を他のエンジニアとシェアするためのコミュニティサービスです。
ユーザー登録をしていれば、プロのエンジニアでなくても質問することができます。自分で質問しなくても、他の人の質問や回答を見ることもできるため、わからないことがあったらまず他の人が同じ質問をしていないか検索してみるといいでしょう。
ただし、質問の答えが必ずしも正しいとは限らないため、複数の情報で正確性を確認しつつ利用してください。
PHPを勉強してスキルアップを目指そう
PHPは習得しやすく、企業求人の多さから人気の言語であるため、学習ツールや勉強方法にもさまざまな選択肢があります。
これまでに他のプログラミング言語を使っていたという人でも、PHPを使えるスキルとして活用するには、PHPの構文的な知識だけでなく、ウェブの仕組みやデータベースの知識も必要になってきます。
この記事で紹介した書籍や学習サイトにはそういった周辺知識が説明されているものもたくさんあります。PHPを仕事で使えるレベルにしたいという人は、目標を達成するのに必要な知識も一緒に習得できるような学習方法を探してみましょう。
Midworks おすすめの案件例
- 芝公園駅 / 港区月額80万〜90万円
- 新宿駅 / 新宿区月額70万〜90万円
- 本郷三丁目駅 / 文京区月額80万〜90万円
- 渋谷駅 / 渋谷区月額70万〜120万円
- 京橋駅 / 大阪市城東区月額100万〜200万円