>>「真面目」でも「頭がいい人」でもお金持ちになれないたった1つの理由とは

【取材】PHP初心者は「ロジック」を理解せよ!最速で実務レベルを身につけるコツを現役エンジニアが伝授

「PHPを初心者から勉強したいけど、本当に仕事はあるの?」
「挫折しないで身につけることができるのかなぁ」
「初心者は何を気をつけてPHPを勉強すればいいいの?」

プログラミングを学びはじめのころは不安も多いもの。活躍するエンジニアの最前線の話を聞いても、自分が本当にできるのかなと疑問に思う方もいるでしょう。

確かにPHPの学習は簡単ではありません。しかし、独学からフリーランスエンジニアになった方もいるので初心者も諦める必要はありませんよ!

今回は、未経験からプログラミングを学んで新卒5ヶ月で脱サラし、今はエンジニアとして活躍するnyanyacaさんにインタビュー!初心者ならではの気をつけるべき点や、意識すべきポイントを伺ったので、ぜひ参考にしてください。

nyanyaca

フリーランスエンジニア。
新卒5ヶ月で脱サラし、現在はPHP(Laravel)を専門に活動中。

Twitter:https://twitter.com/nanakaglucklich

PHPとは?特徴をサクッと解説

インタビューに入る前にPHPの基礎知識を少し解説します!

PHPは1995年に誕生しており、世界中のWebサイト開発で使われている言語です。

2020年の最新の統計では、全体のおよそ80%のサイトでPHPが使われていることが明らかになりました。(参考:W3Techs

CMS(Webサイトを簡単に作成するためのツール)として最大手のWordPressでもPHPを活用しています。

主な役割は、Webサイトの機能を充実させることです。

PHPでも、次のような機能を開発できます。

  • 問い合わせフォーム
  • SNSとサイトの連携
  • 決済システム
  • 予約システム

PHPで動いている有名なサイトには、WikipediaやFacebookなどがあります。また、PHPはRubyと同様に、HTMLに直接書き込むことができるのも特徴です。

PHPでできる開発6選

PHPができることを組み合わせれば、さまざまなサービスを開発できます。具体的には以下のような分野です。

  1. WordPressを使ったWebサイト構築
  2. WordPressテーマやプラグインの開発
  3. ECサイト
  4. 予約サイト
  5. SNSの制作
  6. Web広告の配信

順番に見ていきましょう。

1. WordPressを使ったWebサイト構築

PHPの大きな魅力の一つが、最大手のCMSであるWordPressに採用されていること。

CMSを簡単に言うと、サイトやブログの作成がプログラミングなしでできるソフトウェアのことです。Webに関する知識がない人でも記事投稿やサイトの管理ができるので、多くの企業をはじめ、個人のブログ運営者にも採用されています。

CMSにはたくさんの種類がありますが、W3Techsによれば、世界のCMS市場の64%がWordPressと言われています。日本内で見れば、さらにシェアは高いでしょう。

多くの需要があるWordPressを触れるのはPHPだけ。ここが、PHPだけでできることであり、最大の強みとも言えますし、WordPressだけで仕事をとっているエンジニアもいます。

2. WordPressテーマやプラグインの開発

Webサイトの外観を決めるテーマや、機能を追加するプラグインの開発は、PHPを使って行われています。

そのためPHPを活用して自作のテーマやプラグインを開発すれば、それを販売して収益を得ることも可能です!

ワードプレステーマではSANGOやJIN、プラグインではRinkerの人気が高く、継続的な収益を得ています。

定期的なアップデートは必要ですが、人気を得られれば不労所得的に稼ぐこともできるでしょう。

3. ECサイト

オンラインショップ・ECサイトも実装できます。ECサイトでは以下のような機能を付与できます。

  • 購入された個数に応じて表示される在庫数を変える
  • 販売商品を追加する
  • 過去に購入された商品を元に、ユーザーにおすすめを紹介する
  • お気に入り登録する
  • オンラインで決済する

商品検索や、問い合わせ機能を作るのに長けているので、比較的簡単に制作できるでしょう。

4. 予約サイト

決済システムやログインシステムを組むのが得意なので、予約サイトの開発にも向いています。

例えば、ぐるなびの開発にもPHPが用いられています。

5. SNSの制作

FacebookやTwitterなどのSNSは、PHPを活用し作られています。

PHPの内部処理とHTMLによるWebページの外観を組み合わせやすく、SNSに必要な機能を実装するのに適しているためです。

具体的には、以下のようなものを作れればSNSとして活用可能です。

  • ログイン
  • 投稿
  • メッセージの送受信
  • 他のユーザーをフォローする

有用なSNSを作れればブームを起こし、多額の収益を得られるかもしれません。

難易度は高めですが、気になる方は挑戦してみるのもいいでしょう。

6. Web広告の配信

Web広告はユーザーの検索履歴をもとに、興味を持ちそうなものをプログラムが判別し配信しています。

PHPを活用すれば、これを自動的に行うWeb広告の配信システムの開発も可能です!

また、Web広告ではユーザーがリンクをクリックし表示されるまでの短期間で、サイトに誰の広告を表示するかを決める広告主を対象としたオークションも行われています。

このオークションを行うのも、PHPを使った広告配信システムです。

PHPとHTMLの違いとは?

Webに関する言語の中では、PHPとHTMLが有名です。しかしこの2つがどう違うのか、疑問に感じている方も多いのではないでしょうか。

一見似ているように思うかもしれませんが、PHPとHTMLは以下の点で異なっています。

  1. 作れるサイト
  2. 学習の難易度
  3. 言語としての分類

順番に見ていきましょう。

1. 作れるサイト

PHPとHTMLは、以下のように作れるサイトが異なります。

  • PHP:動的なWebページ(検索で表示されるサイト・SNS)
  • HTML:静的なWebページ(いつどこでアクセスしても同じものが表示される)

PHPでは、動的なWebページを作れます。

GoogleやChromeにワードを入力すると適切な検索結果が表示されますが、これはプログラムが自動的にHTMLを生成して生み出しているためです。

また、SNSでもPHPによって、ユーザーごと・時間帯ごとに表示するコンテンツがカスタマイズされています。

一方HTMLで作れるのは、静的なWebページです。

HTMLによってブラウザに表示するための設定が行われることによって、Webページにアクセスすると時間や場所に関係なく同じ内容が表示されています。

それぞれサイトを作る上で関連はしていますが、作れるものや機能は別のものだと認識しておきましょう。

2. 学習の難易度

PHPと比べると、HTMLの方が学習の難易度は低めです。

PHPやCSSに通じるものでもあるため、プログラミングの前に最初に学ぶものとして適しています。

また、HTMLは入力したコードによる変化がサイトの見た目に現れること、書いた通りに動作するので楽しく学べるのもポイント。

最初にPHPを学ぶよりも、先にHTMLを習得し応用する形で学ぶ方がスムーズです。

まずはHTMLで文字のサイズや背景、画像を自由に変えられるレベルを目指しましょう。

3. 言語としての分類

PHPとHTMLは、以下のように言語としての分類が異なります。

  • PHP:プログラミング言語(サーバーサイドで動作する言語)
  • HTML:マークアップ言語(Webページを構成する言語)

どちらもプログラミング言語と思っていたかもしれませんが、HTMLはマークアップ言語というテキストファイルに記述するためのものに分類されます。

初心者必見!PHPを扱うためには「ロジックの理解」が必須

本日はよろしくお願いいたします!早速ですが、すぐにPHPのフリーランスとして独立したの、すごいですよね。

学習は順調だったんですか?

ちあき

nyanyacaさん

いえ、全然順調ではありませんでした。

最初わかった気になってしまって学習をすすめていたんですけど、途中で全然わからなくなって。最初は、受験勉強のように丸暗記するイメージで勉強したのが失敗の原因です。

そうだったんですね…。具体的にどうやって勉強すべきだったんでしょうか?

ちあき

nyanyacaさん

なぜそのプログラムが動くのかという、ロジックの理解を優先すべきでした。

暗記して覚えたコードをひたすら書くことを繰り返していましたが、ある時からずっとつまづき続けてしまいました。

最初のうちはプログラミングに慣れるためにもまず知っているコードを増やすことが大切です。ただ、ずっと暗記で乗り切り続けるのはおすすめしません。

ある程度見たことがあるコードが増えてきたら、それがなぜ動くのか理解に時間をかけることが大事です。

理解ですか…?

ちあき

nyanyacaさん

そうですね!プログラミングをするときは、最初に一枚の完成した絵を考えて、そこにピースを埋めていくイメージを持つといいです。

ゴールがイメージできていないと、隙間だらけで全然動かないものになってしまいますまさに私がそのパターンで、ピースだけ丸暗記し続けて挫折しました。

まず見たことがあるコードを増やし、全体像を把握することは大切です。ただし、なんとなく全体像が把握できてきたら、細かいロジックを理解する意識を持つことが大切です。

PHP初心者が陥りやすい2つの間違い

だんだん、ちゃんとPHPを身につけられるのか不安になってきました。初心者はどうやって勉強するのがおすすめですか…?

ちあき

nyanyacaさん

よくある間違いは2つありますね。

  1. Progateができたらプログラミングができると思いこむ
  2. 環境構築の学習を疎かにする

私もこの勘違いをしていて、最初に苦しんだ一人です。だからこそ、初心者の方が勉強を始める前にしっかり理解してほしいなと思います。

Progateわかりやすくてすごくいいと思っているんですが、だめなんですか?

ちあき

nyanyacaさん

最初にPHPとはどんなものか理解するには、Progateはとてもいい教材です!ただ、これを上級までマスターしたら、自分で開発ができると思うのは誤りですね
頑張って勉強しても、開発できるレベルにはならないんですね。

ちあき

nyanyacaさん

繰り返しになりますが、プログラミングで難しいのは、どういうロジックでシステム全体を動かすか考える部分です。

例えば、ある機能を実装したいなと思ったときに、どの文法を使ったらできるだろうと考えるところがキモ。変数の置き方やどう関数を組むか考えるところが難所です。

ただし、Progateだとロジックを組むところをやってくれてしまっていて、コードを書く練習をするだけ。なので、意味はありますが、これだけだと足りません。

理解しました…!さらにロジックを考えるトレーニングが必要なんですね!

「環境構築」に関しても教えて下さい。

ちあき

nyanyacaさん

実は、プログラミングをするときは、最初にコードを書くための土台作りをしないといけません。それが、環境構築です。

環境構築ができないと、そもそもプログラミングが始まらないのにも関わらず、ここを丁寧に解説している教材があまりないんですよね。初心者は高確率でつまずくかと思います。

nyanyacaさんはどうやって勉強したんですか?

ちあき

nyanyacaさん

最初まったくわからなかったので、オンライン講座のPHP Hacksを使って学びました。PHP Hacksでは環境構築に1章かけていて、丁寧にやり方を理解できます。

質問も無制限だったので、わからないところはとにかく質問して解決できたのも良かったですね。

質問無制限は魅力的ですね!ただ、「こんなレベルの低いこと聞いてもいいのかな?」と不安になっちゃうかもしれません…。

ちあき

nyanyacaさん

その点も安心です!PHP Hacks講師のゆーやさんは、本当に初歩的な内容でも親身になって教えて下さるので、恐れることなく質問できました!

しかも、とっても褒め上手。褒められるのが嬉しくて、どんどん実力もついていきました。とにかくやる気を引き出してくれるので、質問するのが不安な方にもおすすめできる講座だと思います。

初心者におすすめのPHP学習ステップ

ありがとうございます!PHP身につけられるか不安になってきちゃったので、どう勉強したらいいかも教えて下さい!

ちあき

nyanyacaさん

わかりました!私が今初心者に戻ったら、以下の順序で勉強すると思います。

  1. 基礎文法を学ぶ
  2. 自分でブログを作ってみる
  3. 作ったブログに機能を追加していく
  4. 誰かと共同で開発をやってみる
最初は何より基礎を身につけることですね!

ちあき

nyanyacaさん

そうですね、それこそProgateなどを使ってもいいと思います。一通り全体を学習することが大切です。

たまに、先に作りたいサービスを決めて、それに必要な知識を学んでいく方がいますが、おすすめしません知識が穴だらけになってしまって、もっと良い書き方があるコードを量産する可能性があるからです。

まずは、1周勉強しましょう。

わかりました!その次、ブログを作るのはなぜですか?

ちあき

nyanyacaさん

ブログは比較的機能がシンプルなので、PHPで作りやすいからですね。自分の手でゼロから開発してみるファーストステップに、ブログはぴったりだと思います。
なるほど、わかりました!次は、どんどん開発物を増やしていくより、バージョンアップしていくほうが良いんですか?

ちあき

nyanyacaさん

そうですね、同じレベルのものを量産するより、機能を追加していくほうが勉強になります。例えば、

  • ログイン機能をつける
  • ユーザー登録して複数人で編集できるようにする
  • お問合せフォームをつける

など、どんどん機能を足していきながら、理解を深めていくとレベルアップしやすいと思います。

効率的にレベルアップできそうですね。

最後、共同で開発してみるというのは、どういうことですか?

ちあき

nyanyacaさん

フリーランスとして企業に入って開発するにせよ、就職するにせよ、仕事になったら人と共同して開発をすすめるようになります。

このときの情報伝達の仕方や、相手が書いたコードの理解などが難しく、初めて仕事で請け負ったときに苦しむ原因になるんですよね。ひとりで開発するのとはまた違ったスキルが必要です。

そのため、趣味で勉強する人を除いて、できれば誰かと一緒にひとつの成果物を作る経験をしておくといいと思います。

ありがとうございます!確かに、人に見られる意識を持ってコードを書くのは勉強になりそうです。

ちあき

nyanyacaさん

そうですね!さらに、他の人のコードを読むことで「こういう書き方もあるんだ」と勉強になるので、一石二鳥ですよ!

PHP学習におすすめのサイト5選

ここまでに解説した方法以外にも、PHP学習に適したサイトを活用するのも有効です!

特におすすめのサイトは、以下の5つです。

  1. PHP公式マニュアル
  2. ドットインストール
  3. バシャログ
  4. paiza
  5. Codecademy

順番に見ていきましょう。

1. PHP公式マニュアル

引用:https://www.php.net/manual/ja/index.php

PHPが公式に公開しているリファレンスで、基礎からバージョンごとの違いなどあらゆる情報がまとめられています。

サイト内の情報がすべて無料で見られるのも、大きなメリットです。

初心者だけでなく実務でPHPを使う方も利用しているので、長期的に学んでいけます。

しかし分かりやすい内容とはいえないため、 ある程度PHPに慣れていないと理解しづらいかもしれません。

本や他の学習サイトでも学んで知識をつけた上で、補助的に活用するのがいいでしょう。

2. ドットインストール

引用:https://dotinstall.com/

ドットインストールは、プログラミングについて何も分からない初心者を対象にしたサイトです。

PHPはもちろん、他の言語も動画レッスンで学んでいけます。

内容は「はじめてのPHP」「詳解PHP 基礎文法編」など初心者向けのものが充実しており、基礎学習に最適です。

また、簡単なサービスを作れるようになる講座もあるので、初心者以上のスキルも習得できます。

無料で受けられる講座が豊富ですが、最新の情報を得たいなら有料の講座も検討してみましょう。

3. バシャログ

引用:http://bashalog.c-brains.jp/category/series/php/

バシャログは、株式会社シーブレインのWeb制作スタッフが運営しているサイトです。

PHPの基礎知識を10回の記事に分けて解説しており、テキスト形式なので自分のペースで学んでいけます。

サイト内の記事はすべて無料で読めますし、基礎以外の知識も得られます。

動画形式の学習サイトを使う余裕がない方には、特におすすめのサイトです。

4. paiza

引用:https://paiza.jp/

PHPをテキストではなく、動画を通して学びたい方もいるでしょう。その場合におすすめなのが「paiza」です。

  • 動画を見ながら関数を学ぶ
  • 実際にコードを書いてみる
  • 問題を解いて理解度を深める

このような流れで学んでいけるため、スキルを確実に伸ばしていけます。

問題のレベルも幅広いので、段階的かつ効率的に学んでいけるでしょう。

5.Codecademy

引用:https://programmercollege.jp/

Codecademyは、4,500万人以上・170ヵ国以上で利用されているサイトです。

PHPについての個別言語コースに加え、機械学習やウェブ開発のように実務レベルのスキルを身につけられる講座まで、幅広く対応しています。

講座は穴埋め形式ですし、1回10分程度なので自分のペースで学びやすいです。

ただCodecademyは日本語対応しておらず、英語で講座が進行します。そのため、すでに英語力のある人に適したサイトといえます。

初心者からPHPの仕事をとるコツは「人とつながること」

nyanyacaさんは会社員をやめてすぐフリーランスになったと思うんですが、仕事ってどうやって手に入れたのでしょうか?

実績がない状態で初心者が仕事をとるのは難しいと思います。

ちあき

nyanyacaさん

オンラインサロンのつながりからです。

正直、初心者からフリーランスになる場合、1年程度は会社員として働いたほうが、案件を取りやすいとは言われています。ただ、それでも仕事を取りたいならば、人とつながっていくことは不可欠です。

なるほど…。会社員にならないとなかなか仕事は取れないんですか?

ちあき

nyanyacaさん

そうですね、歴が短いとそれだけで足切りを食らってしまうので、おすすめはしません。笑

それでも仕事を得たい場合は、オンラインサロンなどで普段から交流して、「この人なら信頼できるな」と思ってもらうことが大切ですね。

初心者でスキルを証明するのが難しいからこそ、普段の信頼関係構築が大事なんですね!

初心者からPHPを勉強したい方に役立つお話、ありがとうございました!

ちあき

PHP Hacksなら最速でPHPエンジニアを目指せる

  • 初心者からPHPの知識を学べる
  • 無期限の質問サポート付き
  • 買い切り型で受講期限も無制限