ENGINNER

【これだけでOK】ゼロからPHP入門【環境構築〜作品作りまで】

こんにちは。もんしょー(@sima199407)です。

ある人
PHPをゼロから始めたいがどうすればいいんだろう

という疑問があるかと思います。

これについてもう少し詳しく解説していきます!

動画でも解説してます

本記事は、今からプログラミングやりたいです、エンジニアになりたいです、そういう人向けになります。

どんなプログラミング言語?

そもそもプログラミング言語ってどのくらいの数あるかご存じでしょうか?

知られているものだけでも250ほどあると言われています。

以前中学生がものの数週間で新しい言語を作ったっていうニュースもあったので僕的には250以上あると思っています。

PHPとは?

数あるプログラミング言語なかでもよく使われているものというのは決まっていて、常に上位に入ってくるのがPHPです。

PHPの特徴は初心者でも覚えやすい、HTML内に一緒に書ける、Webサイトの開発・ホームページの開発に向いている、軽く順に解説します。

初心者でも覚えやすい

プログラミング言語ってとっつきにくい、難しそうというイメージがあります。

しかしPHPは初心者でも勉強しやすいっていうところがあって選ばれることがあります。

理由はコードが直感的に分かりやすい、勉強している人が多いです。

HTML内に一緒に書ける

これも大きなポイントです。

Webサイトを作るときデータベースから取ってきて、その情報をHTMLに表示させてみたいなことに有効的だったりするんですよ。

元々PHPっていうのは、HTMLの開発のために作られた言語なのですごく相性がいいんです。

ちなみに他の言語を使うRubyとかPythonとか使うときは、HTMLはHTMLのファイル。

プログラミング言語はプログラミング言語のファイル。

に分けて使うので、HTMLファイルというのはそういう意味で楽というかすごくフレキシブルな感じの言語になります。

Webサイトの開発・ホームページの開発に向いている

Webアプリケーションを作成するために開発されたと言ってもいいぐらいの言語なのでHTMLと一緒に書けるというのもこういう理由です。

よく使われているプログラミング言語なんですけども、どんなものに使われているか簡単に説明すると例えば、Wikipediaとかぐるなびとか、あと昔のFacebookとかです。

いろんなものをみると、

ある人
あ、これPHPで書かれているのか!

っていう意外なものがあるので、興味のある方はググってみてはいかかがでしょうか。

[blog-card url="https://kredo.jp/media/php-service-introduction/"][/blog-card]

勉強の順番

ある人
PHPは初心者でもとっつきやすくてWebサイトの制作とかに向いていると何となくは分かった。じゃあ、どうやってやればいい?

ここではどういう風に勉強していくのかを解説していきます。

プログラミングを触ったことのない人向けに解説していくので、もしかしたらくどい表現があるかもしれませんが、ご了承ください。

順番はシンプルに環境構築、基礎学習、作品作りの順です。

ちなみに一番つまずくは、基礎の部分・作品作りではなく、環境構築です。

理由は、よくわからないためです。

環境構築って言われても、何で環境構築が必要なのとか、そのまま触っていけば動くんじゃないのと思われるんですが、土台の部分が難しいです。

後はバージョンとかが変わってくるとエラーが起きたりするので、そういうところでつまずいてしまうっていう部分があります。

触って気づくタイプは時間がかかる

ちなみに僕も失敗し続けたんですよ。

手順通りにやればいけるかなと思ったのですが、あんまり気にしないでやっていました。

昔だったら家電製品とかおもちゃとか、説明書を読まずにとりあえずガチャガチャ触って動かしてみるたというタイプです笑

1.環境構築

ちょっと脅しのようですが、これがないとプログラミングを動かすことができません。

しかし、覚えてしまえば難しくはないです。

ちなみに僕はMacを使って操作しているので、Windowsとは操作が異なるかもしれませんがご了承ください。

3つ方法があるのですが、今回はやり方のみご説明します。

1.デフォルトでついているものを操作する

PHPは、Macには基本的にデフォルトで入っています。

確認方法はターミナルっていう画面で見るという方法です。

詳細のやり方は「PHP バージョン確認 コマンドライン」とググってみてください。

しかし5系などの古いバージョンが入っているかもしれないです。

古いバージョンの場合は新しいものをいれておくほうがいいです。

2.MANPを使う

これは動作確認したいとか、ローカル環境でサクッと環境を作りたいというときにおすすめの方法です。

フリーソフトなんですけども、簡単に環境構築できるっていうことから最初に使う場面が多いです。

WindowsだとMANPではなくXAMPPっていう名前になってしまうんですけども、同じように環境構築できます。

そもそもMAMP、XAMPPなに?って方は解説記事があるので良ければご覧ください。

https://simablog.net/what-lamp-mamp-xampp/

3.【応用】仮想環境構築する

この方法は難しいかなと思うのですが、Dockerというサービスを使ってPHP環境を作ります。

これ何がいいかっていうと仕事に近い環境が作れることです。

細かいバージョンの切り替えとかこういうWebサーバ使おうとかできるんですよ。

PCにデフォルトで入っているものを操作する方法と違って、いろいろとコマンド打つ作業があるんですが、失敗したときにパソコン全体に影響がないんです。

初心者の失敗をカバーできる

初心者のときってコマンドをいろいろと打つと変なコマンドを押しちゃってパソコンのデータや設定がなくなる心配とかあるのですが、それらのリスクを防げます。

最初はちょっとしんどいとかめんどくさいというところあると思いますが、一度やるとこれなしでは開発できないぐらいすごい良いサービスなので仮想環境をまずやってみるというのは1つポイントかなと思います。

https://simablog.net/docker-laravel-nginx-mysql/

2.学習の基礎

最初にお伝えしたいことがあります。

基礎の学習は大事なんですけども、ここで立ち止まってはいけないということです。

どういうことかというと、基礎を徹底してやろう、例えば文法を一生懸命覚えたり、何度も同じところを繰り返してやる、結構そういう人いらっしゃると思います。

そうではなく、一旦一通り終わったら次に進みましょう

イメージでは5割くらいの理解であれば全然OKです。

5割→8割を理解するために実際に手を動かしながら理解を深めていくのがいいかなと思います。

覚えたことは実践で復習

そうやっていくと、あ、これ前も同じことやったなみたいな部分が出てくるんですよ。

これでOKなんです。

こうして理解を深めていくのがプログラミングの効率的な覚え方です。

わからないときは調べればOK

さらにプログラミングはカンニングができます。

どいうことかというと、分からなければGoogleで調べれば解決できるし、むしろ学習の基礎は暗記よりも調べ方を覚えるっていうところの方が重要だったりします。

特にPHPは使っている人が多いっていうところなので多くの情報がネットに存在するので、解決できないことはほぼほぼないかなと思います。

一回調べてみて、

ある人
ああ、なるほど、こういうことなんだ

と感じでやっていくのが基本的な動かし方になります。

効率よく学習するなら解決の導き方っていうところを覚えておくのがポイントです。

3.作品作り

基礎の勉強のところまで終えるメージとして、

大体1日5時間ぐらい勉強していると仮定した場合、2~3週間ぐらいで終わるかなと思います。(ここは人によって2時間とか3時間とか10時間とか)

そんなすぐに終わるのかと疑問に思う方もいらっしゃると思いますが、本当に作ることが重要でここに移るのが大事だったりします。

作ることで覚える

僕的には、ここまできてプログラミングを覚えるっていう段階だと思います。

基礎のところはなんとなく知るっていうところでちゃんと覚えて理解するっていうのは、この作品作りになります。

何を作ればいいの?

どいうものを作ればいいかっていうところなんですけども、基本的には自分が作りたいものを作ればいいかなと思います。

ただ押さえておくべきポイントとしては、基本の4機能をつけることです。

[box03 title="基本4機能とは?"]

新規作成、表示、更新、削除。

英語で言うと、Crete、Read、Update、Delete。

[/box03]

これはCRUD機能と言われていて、Webサービスを動かすにあたり、基本となるすごくよく使う機能です。

ここらへんができるようなものを作りましょう。

どういうものがCRUD機能がある?

しかし作りたいものが分からない、基本の4機能を含んでいるものっていったいどんなものあるのと思う方いらっしゃると思います。

PHPとかWeb系の言語であれば、

・TODOリスト

・掲示板

・SNS

などになります。

掲示板を作るなら?

僕は以前、PHPのフレームワークであるLaravelっていうものを使って掲示板をカスタマイズするっていう動画を上げています。

自分でカスタマイズしてみるっていうのもいいかもしれません。

https://simablog.net/laravel-keiziban/

-ENGINNER
-,