プログラミング学習

【ロードマップ】PHP学習に必要なコト全てを現役フリーランスエンジニアが解説してみます

PHP ロードマップ
僕
2020年3月現在、PHPの学習を進めて実際に業務レベル(WordPressでフリー案件を取る・Laravelで常駐系フリー案件を取る)までのPHP学習ロードマップを作成してみました

対象の読者の方:プログラミング経験〜半年ほどでHTML・CSSがある程度書けるようになってきた方

おそらくHTML・CSSは1週間ほど手を動かしながら、1つくらいウェブページを作成できれば十分ではないでしょうか。

フレームワーク(WordPressやLaravelなど)を使わない素のPHPだと、「HTMLにデータを渡して各種処理をさせるためのプログラミング言語」という位置付けなので、HTMLとCSSを使ってある程度マークアップできたらOKです。

それでは見ていきましょう。

スポンサードサーチ

1. HTML、CSS(Bootstrap)を覚えて、ポートフォリオサイトを作成してみる

某Mさんのロードマップに出てくるような、エアビーの模写や綺麗なポートフォリオサイトが作成できるレベルまで行かなくても全然OK。なのですが、おそらく一番有名なCSSフレームワークであろうBootstrapは、業務の際にも必須になってきます。

BootstrapはWordPressには標準で搭載されており、グリッドシステムや各種UIコンポーネントをclassから呼び出すだけで、素早くウェブサイトの大枠を作成できるので、ぜひとも身に付けておきたいスキル。

僕
このあたりはプログラミングというよりもウェブ制作の分野かと思いますが、Web系エンジニアであってもデザインをもらってマークアップする機会は結構たくさんあるので、一度ウェブ制作の教本やUdemy講座で、「モダンなウェブサイトの作り方」を一通りさらっておけばOKです。

PHPに手をつけるまでに必要なこと
1. HTMLタグを一通り覚える(<div>、<p>、<a>など)
2. HTMLのclassやhrefなど、各種タグに紐づく要素を覚える
3. CSSを使って要素の装飾や要素のポジションをある程度操れるようになる
4. Bootstrapを使って、1枚のウェブページを作れるようになる

HTMLとCSSを学んでから、ポートフォリオサイトをBoostrapを使って作成できればOK。

ここでおすすめなのは下記の様なモダンなウェブサイトがサクッと学べる教材です。

 

定番ですので、ぜひ一度kindleなどでざっくり試し読みされてみるのをオススメします!

2. PHPのProgate(ドットインストール)をざっくり1週してみる

僕
ぶっちゃけ2020年だと、JavaScriptの重要性がめちゃくちゃ高く、現場の人としては正直、HTML/CSSの次はjQueryかVue.jsをマスターして欲しいのですが、おそらく挫折率がかなり高くなるので、PHPを楽しく勉強しておきましょう

>>Progateのウェブサイトはこちら

ProgateのPHP講座を完了すれば、簡単なレシピ表示サイトを作成できるようになるはずです。

この時に、次のようなPHPの各種シンタックス(文法)を調べずに扱えるようになっていればOKです。他の言語をやっていた方だと、ほとんど同じなので全く問題ないはず。

ちなみに僕とかだと、ProgateでPHPをさらいながらWordPress制作のアルバイトをしていたので、割となんとかなりますよ。(その分、コピペコードが多かったのですがorz)

✔︎Progateやドットインストールで学びたい基礎
PHPの制御構文(foreach、for、while、特にforeach)
PHPの変数宣言($hensuのように扱い、1文の最後は;セミコロンで終わる)
PHPの関数について(function 関数名 ($引数) { 構文 } のようなまとまりを記述)

Progateやドットインストールを使うことで、このあたりまでをかなりざっくり短期間で学習(およそ2週間以内)できるので、是非やってしまいましょう。

>>Progateはこちらからどうぞ

僕はProgateで各種料理をforeachで回す処理が、全く理解できなかったのですが、とりあえず「まとまった要素をforeachでそれぞれリストなど要素として1つずつ表示させる」というのは、ウェブエンジニアなら1どは実装する機能なので、この辺りでできるようになっておきたいです。

ちなみにですが、PHPの環境構築は全て飛ばしてPaizaなどのオンライン実行環境を利用すればOKです。入門している時はPHPでプログラミングを書くことに時間を費やしたいです。

なぜ環境構築を飛ばしたか:すでに出版された書籍だと、Vagrantを使った仮想化や、ローカルにPHPを導入するなど、2020年現在だとありえない手法が紹介されていますが、現状はPHPを使って開発するにしてもローカル環境構築はDockerを使う以外、ありえないという感じです。

これは少し難しいので、モダンなPHPフレームワークであるlaravelを学習する時に、ざっくり実際にDockerを使って環境を作って見ればOKです

ちなみに僕は、WordPressをアルバイトで作成=>Laravelエンジニアという感じでスキルアップしていったので、PHPの言語をざっくり勉強してみた後は、WordPressを使ってひたすらforeachして記事を表示させてみるのもいいかもしれません。

スポンサードサーチ

3. WordPressを使ったウェブ制作に挑戦

ワードプレス
僕
このブログもWordPressでできています。世界で最も使われているCMSであると言われているWordPressを学べば、プログラミングで少しなら稼ぐことができるようになります(月10万円〜)

WordPressを学ぶのに最も適した方法は、自分のWordPressテーマを作成してみることです。ただ、これだと少し敷居が高めです。

なので、まずはWordPressの各種関数と、PHPのデフォルト関数を利用し、「ブログ記事を表示させるページ」をWordPressで作成してみるのがオススメです。

✔︎WordPressを使ってPHPを学ぶアイデア3つ
1. WordPressを使って、ブログ記事一覧を表示するページを作成してみる
2. 次はカテゴリやタグによって記事一覧を表示するページも作成してみましょう
3. 目次(ページネーション)をつけてみましょう

この辺りまでをざっくりやってみると、PHPについては「調べながらだとある程度書けるな。よく使う組み込み関数は結構覚えてきたかも」という実感が湧いてくるはず。

まだまだ不安な感じorワードプレスをどんどん手を動かして、フリーランス案件なども狙っていきたい方には、この辺りの書籍も参考になるはず(同じく定番です)

 

さらに上のウェブ制作力を手に入れるなら…

4. jQueryを使ってウェブページに動作を加えてみる(toggleを使ったアコーディオンメニュー、画面に追尾するサイドメニューを作ってみる)
5. 自分のWordPressテーマを作成してみる

この辺りまでやってみれば、後はポートフォリオサイトをレンタルサーバーなどで立てて、クラウドソースや営業活動から案件を取ってきたら手を動かせばお金になる段階だと思います。早い方ならおそらく半年もかからないかもしれません。

僕
実際にワードプレスを全て任されることになったら、JavaScriptも触っていく必要が出てきます。WordPressならjQueryでOKなので、参考書などを片手にブログなどで良く出てくるエフェクトを実装してみましょう!

 

4. モダンなPHPフレームワークLaravelを使ったアプリケーション開発に挑戦

僕
最近のPHPを使うフリーランス案件だとほとんどがLaravelで、昔から使っているフレームワークにこだわる理由がない限り、PHPフレームワークのファーストチョイスがこのLaravel。API開発やWordPressのようなCMS開発、バックエンド開発、配信サーバー作成、認証サーバー作成などなんでもできてしまうフレームワークです。

Laravelを使ってフロントエンドとバックエンドを作れるようになれば、あなたも立派なエンジニアの仲間入りです。ただ、覚えることはたくさんあり、WordPressの最大5倍程度のコーディング知識が必要です。

簡単なバックエンドサーバーを作るなら、WordPressとほぼ同じレベル感・覚える量なのですが、モダンなアーキテクチャにのっとって書かないと、ぶっちゃけLaravelを使って開発する恩恵は感じられず、この辺りは実際にエンジニアとして働きながらチーム開発をして理解していくしかないなと僕は考えてます。

Laravelを使ってみることで必要な知識・得られる知識
1. オブジェクト志向の基本
2. gitを使ったソース管理
3. jQuery もしくは Vue.js(React.js)の知識(ajaxを使った非同期通信の構築)
4. SQLなどクエリ言語によって複数テーブルを結合したデータの取得
5. MVCフレームワークへの造詣(各種レイヤがどこまでの処理を担当すべきか)
6. Unix系OSのコマンドライン言語の知識(Bashなど)
7. Docker(docker-compose)を使った仮想化環境の構築
8. AWS/Heroku/GCPへのデプロイ

正直、WordPressに比較するとめちゃくちゃ覚えるべきことも多く、フレームワークに良くも悪くも縛られて書くことも多くなるため、初心者の頃は困惑するはずですが、実は基本を一つずつ潰していけば、laravelを使ってバックエンド開発をする方が、ウェブ制作のようなpx単位の悩みもなく、かなり快適にコードを書いていけるようになります。

この辺りまで一通りできれば、プログラミングスクールの卒業生と同じくらいのスキル感で、おそらく独学だと98%くらいの方が挫折するはず。

僕は未経験で上記を転職先の企業で学ぶことができ、かなり運が良かったと感じています。なので、いきなりエンジニアとして覚悟を決めて転職をしてみるor大人しくプログラミングスクールで切磋琢磨してプログラミング上達を目指すのどちらかがやっぱりいいのかなと思います。

僕
Laravelにオススメの教科書3つを紹介しておきます。上から順番に難しくなります!


↑Laravelの入門書です


↑この本を読んで、実践にとりいれようかなと思えるようになってきたらフリーランス独立できます

スポンサードサーチ

まとめ:PHPは学習コストがかからず、開発効率も上がるのでオススメです

僕
PHPは自由に生きたい・一人でやっていきたい人向けのウェブ言語と言われたりするので、競争せずゆるめに生きたい方にはオススメですw

PHPなら一人でも多くのことを実現できるので、WordPressかLaravelなどフレームワークやライブラリを上手く使って開発していきたいですね

ABOUT ME
クスハラ ショウゴ
■プロフィール フリーランスエンジニアをしつつ、ブログと婚活メディアの運営を行っています。 立命館大卒業後、big4系監査法人へ新卒で入社。結婚式撮影サイトのPHP(WordPress)エンジニアを経て、web系受託開発で医療系マッチングアプリのオフショア開発。その後、女性向けフードメディアのバックエンドエンジニア。TOEIC960点 ■連絡先 shogo.kusuhara[あっと]gmail.com