未経験者向けPHPの特徴を解説。PHPは未経験者にも親しみやすい言語。
初心者がプログラミングを始める場合ってどの言語から学ぶのが良いの?
という話はよく語られますが、個人的な見解としては
ビジネスサイドでエンジニアのことをもう少し知っておきたいという人は、JavaScript。
自分でプログラムを組んでみたい、ブログのために知っておきたいという人はPHP。
Webサービスを作るスタートアップで働きたいという人はRubyという感じでオススメしています。
その中でも今回はPHPに関して、ご紹介していきます。
PHPとは
PHPとは、Hypertext Preprocessorの略で、サーバ上で動くプログラムです。実はこのブログ自体もPHPで動いており、さらに細かくいうとPHPで作られたWordPressというサイト作成フレームワークで作られています。
サーバ上で動くプログラミングの反対がクライアントで動くプログラムなのですが、javascriptがそれに当たります。
ユーザがフォームの送信ボタンをクリックした時にフォームの値を検査してエラーメッセージを画面に出力するという動的にページを変化させるのがJavaScriptの仕事です。
対して、PHPはサーバー側でユーザから送られて来たリクエスト(特定のURLにアクセスするなどのこと)を元にデータベースなどを参照し、ユーザの見えやすい形に変換してWebページに返却するというのが仕事になります。
Webアプリケーションを開発するには、HTML/CSS、Javascript、サーバサイドのプログラム言語、データベースなどの知識が必要ですが、PHPはサーバサイドのプログラムになるのでそれの一つになります。
実際のPHP
実際のPHPのコードは以下のようになります。
<?php
$str = 'Hello World';
echo $str."\n";
echo date('Y-m-d')."\n";
for( $i = 0 ; $i < 10 ; $i++ ){
echo $i."\n";
}
これの実行結果は以下になります。
$php sample.php
Hello World
2018-01-07
0
1
2
3
4
5
6
7
8
9
Hello Worldという文字列と日付、0から9までの数字が表示されています。 PHPの概論なので、細かく話はしませんが、PHPというのはこういう言語なのだなと感じてもらえればと思います。
PHPを取り巻く環境
プログラミング未経験者が学ぶプログラミング言語を決める上で大切なことの一つにドキュメントの多さがありますが、PHP自体プログラミングをしたことのない人でも知っているような言語ですのでドキュメントには困りません。
さらに多くのレンタルサーバーがPHPを前提にサービスを提供しているので学習環境にも困りません。
ブログ作成をサポートするツールの一つにWordPressというオープンソースのソフトウェアもPHPでできているので自分のブログを開設したいなど、がっつり勉強してエンジニアになりたいという人でなくてもとっつきやすい言語になっているかと思います。
対して、PHPでWebアプリを構築しようと思った場合は、CakePHPやLaravelなどのフレームワークが存在します。
現在では、Laravelの方が人気な言語のようで、Railsなどよりは、より大きな規模の会社で使われているイメージがあります。
PHPを学びたいなら、CodeCampがオススメ
PHPを学びたいなら、CodeCampのWebマスターコースがオススメです。
講座では、PHPを中心に、HTML/CSS, MySQL, JQuery などWeb開発に必要な技術を網羅的・集中的に学ぶことができます。
講師が現役エンジニアで、完全マンツーマン制なので気になったことをすぐに質問して解決することができます。授業のスタイルもオンラインで予約してそのままオンラインで授業を受けることができるので、地方の方も抵抗なく受講できますし、仕事で忙しい方も可能な範囲で時間を作って受講できます。
まとめ
以上簡単ではありますが、これがPHPの紹介になります。
私自身PHPとRubyでの開発経験があるのですが、PHPの方が個人開発には向いているような感覚があります。
先にもあげたようにWordPressもあったり比較的に安価で借りられれるレンタルサーバーがほとんどPHPを前提にしているので大きかったり、複雑でないWebアプリケーションであればレンタルサーバーとPHPとで手軽に開発できてしまいます。 (一部HTML/CSS,JavaScriptなどの知識も必要です。)
自分のブログもつくってみたいし、ホームページ作成とかやってみたいなという人にはPHPがオススメです。
もう少し踏み込んでみてエンジニアとしてやりたいという方には勉強方法の選択肢も記事にしているので、そちらを参考にしていただければと思います。