システムエンジニアがこの悩みにお答えします。
この記事を書いている僕は、独学でプログラミングを勉強してIT業界に転職しました。WEB制作の仕事やアフィリエイトでPHPを覚えました。
PHPはプログラミング初心者の独学に最適ですが、プログラミング経験が少ないと苦労すると思います。
PHPができれば、人気のCMS「WordPress」もカスタムできるようになります。
今回は、「初心者がPHPを独学でWEBプログラミングできる」を目標にします。
PHP独学のロードマップ
僕が実際に役立ったPHP独学のロードマップを紹介します。
PHPはそれ単体で使われることが少なく、マークアップ言語やスタイルシートなどと一緒に使うことがほとんどです。
僕が実際に勉強して、この順序なら無理なく覚えられるロードマップがこちらになります。
- HTMLとCSSを勉強する
- JavaScriptを勉強する
- PHPの基礎を勉強する
- PHPで簡単なWEBアプリケーションを作る
- データベースを使ったWEBアプリケーションを作る
- オブジェクト指向を理解する
- セキュリティ対策
- PHPのフレームワークを使ってみる
- WordPressでブログを作る
今回はPHP独学についてなので、3以降についてフォーカスしていきます。
PHP独学におすすめの参考書
PHPの独学で使うべきおすすめの参考書は3冊になります。
いきなりはじめるPHP~ワクワク・ドキドキの入門教室~
初心者向けのPHP本で、初めてプログラムを勉強する人にもわかりやすいです。
データベースのMySQLまでカバーしているので、WEBプログラミングに必要な知識を一通り理解することができます。
内容は2011年のもののようで、今のプログラミングに比べると古い印象がありますが、初心者向けの本ではわかりやすいので、初めてPHPを学習する人の最初の1冊としてはおすすめです。
ただ絶対に買う必要はなく、後ほど紹介するオンラインの「Progate」で代用できます。
パーフェクトPHP
PHPを深い部分まで理解することができる、中級者におすすめの参考書です。
特に後半のフレームワーク実践は、今のプログラミングの主流である「フレームワーク」の知識が身につく良い内容です。
中級者でも難易度が高いと感じる箇所もありますが、1冊完読すればPHPを自在に使えるレベルになります。
もちろんセキュリティ対策の説明もあるので、実務的な実力をつけることが可能です。
体系的に学ぶ 安全なWebアプリケーションの作り方
PHPだけではなく、Webアプリケーションの脆弱性について説明しているセキュリティ対策のバイブルです。
かなりボリュームはあるのですが、内容がわかりやすく中級者以上であれば納得いく出来になっています。
セキュリティ対策の本は他にもありますが、個人的にはこれ1冊を熟読することをおすすめします。
PHP基礎の独学勉強法
PHPの基礎を勉強する最も効率的な勉強法は、オンラインの「Progate」を利用することです。
Progateはオンラインのプログラミング講座で、基礎講座なら無料登録で利用できます。
PHPⅠのコースだけでも、基礎となるPHPの文法やプログラミングの考え方(アルゴリズム)を学習することができます。
Progateの良いところは、PHPを動かす環境構築をする手間がないことです。
PHPの環境構築で躓く初心者も多いです。
初心者は一つのことに集中したほうがよいので、まずはプログラミングのコーディングがすぐできる状態から始めたほうがレベルアップできます。
初心者の方はどんどんコードを書いたほうが実力が付くので、環境構築不要なProgateで効率的に勉強しましょう。
PHPの基礎的な勉強は2週間~1ヶ月位を目安にしましょう。
1回だけだと理解できないことも多いので、何度か復習してください。基礎が理解できたら、次はオブジェクト指向に移りましょう。
PHPで簡単なWEBアプリケーションを作る
PHPの基礎が理解できたら、簡単なWEBアプリケーションを作ることでPHPでできることがわかってきます。
独学で最初におすすめのWEBアプリケーションは、「お問い合わせフォーム」です。
僕もPHPの基礎が終わってから、お問い合わせフォームを作ってPOSTやセッションの考え方を理解できました。
ですが、「お問い合わせフォーム」をいきなり自分で考えて作るのは簡単ではないので、ネットや参考書のサンプルを参考にしましょう。
サンプルを見て、どんなことができるのか理解できれば、あとは自分で項目を追加したりと応用をしてみてください。
ただ、最初は難しいので人のソースコードをそのまま使って、どんな動きをするのか確認しながら勉強しましょう。
プログラミングは人のソースコードを読むのも勉強になるので、一つ一つじっくりと理解してください。
データベースを使ったWEBアプリケーションを作る
データベース操作が理解できれば、PHPを使ったWEBアプリの基本は完了です。
ショッピングサイトなどを使ったことがある人も多いと思いますが、顧客のデータや商品のデータを格納するのにデータベースを使うのが一般的です。
データベースは単体で勉強するより、PHPと連携して覚えたほうがイメージがつきやすいので一緒に覚えましょう。
PHPのWEBアプリケーションもデータベースと連携するのが一般的で、ここまでできれば一通りのWEBアプリを作る基礎知識が身につきます。
僕もデータベースを理解するのにかなり苦労したのですが、難易度が高いので、いきなり全てを覚える必要はありません。
データベース操作はPHPを使ったWEBアプリケーションに欠かせません。
データベースを使ったWEBアプリケーションができれば、プログラマーとして仕事ができるレベルと言えます。
オブジェクト指向を理解する
オブジェクト指向はプログラミングの必須知識で、どのプログラミング言語にも応用できます。
オブジェクト指向はプログラミング初心者の方にはわかりにくいことなのですが、プログラミングの現場で普通に使われる考え方になるため覚えておくと非常に役に立ちます。
ですがオブジェクト指向の考え方は難しく、僕も使えるようになるまで苦戦しました。
勉強法ですが、先ほど紹介したProgateで、PHPのオブジェクト指向講座があるので利用しましょう。
おそらくすぐには理解できないので、まずはオブジェクト指向の概念を覚えることから始めて下さい。
オブジェクト指向が理解できたら、PHP中級レベルといっても良いでしょう。
次に説明する「フレームワーク」を覚えると、オブジェクト指向を使って効率的な開発ができます。
PHPのセキュリティ対策も勉強しましょう
今のPHP開発で欠かせないのですが、個人情報の取り扱いや、外部からのアタックなど、セキュリティ対策をしっかりとする必要があります。
PHPのセキュリティ対策は中級者以上になるので、データベース操作が理解できた頃から意識しておくと良いでしょう。
セキュリティは難しいのですが、今はペネトレーションテストと呼ばれるセキュリティテストを導入している企業も多いです。
PHPプログラマーになるのであれば、こうしたテストを通過するプログラムを作らなければなりません。
ただ心配する必要はなく、セキュリティ対策もきちんと勉強すれば対策できます。
PHPセキュリティの勉強は、先ほどの参考書で紹介した「体系的に学ぶ 安全なWebアプリケーションの作り方」が具体的なサンプルがありわかりやすいです。
著者の徳丸さんは、セキュリティで有名なEGセキュアソリューションズの代表でセキュリティのスペシャリストです。
セキュリティは内容が難しいですが、プログラマーなら必ず勉強しておいて欲しいことです。
PHPのフレームワークを使ってみる
フレームワークが理解できると、PHPでWEBアプリを作る開発スピードが格段に上がります。
実は現場で素のPHP(PHPをゼロから作る)で開発することはほぼありません。
- セッション管理
- データベース操作
- セキュリティ対策
フレームワークを使えば、PHPをゼロから作ると面倒なこうした処理が簡単に使えるようになります。
僕もPHPの開発ではフレームワークを使っていますが、作業効率が格段に上がります。
データベース操作やオブジェクト指向まで理解できたら、フレームワークにチャレンジしてください。
PHPのフレームワークにはいくつか種類があるので、以下を参考に興味があるものを使ってみて下さい。
PHPの独学では、ここまでやればセミプロレベルと言えます。
あとは経験を積んでいけば、フリーランスとしても食べていけますよ!
WordPressでブログを作る
PHPプログラマーで需要が高い仕事に、「WordPress」の案件があります。
WordPressは企業のホームページからブログまで、世界的に使われている人気のCMSです。
PHPのプログラミングができるようになったら、WordPressを使ってブログを書くのもおすすめです。
- PHPのスキルアップ
- 忘備録の技術ブログ
- アフィリエイト
ブログを書くだけではPHPのスキルアップはしませんが、WordPressをカスタムすることでPHPの勉強になります。
また僕もこのブログでアフィリエイトをしているのですが、プログラマーの副業としてアフィリエイトもできます。
アフィリエイトをすると、SEOやWEBマーケティングの勉強にもなるのでWEBを極めたい人にもおすすめです。