サーバーを立ててWEBサービスを作ろう!
PHPってそもそもなんだ?
PHPはHypertext Preprocessor(ピー・エイチ・ピー ハイパーテキスト プリプロセッサー)のことで、HTMLのデータを動的に生成することが可能にすることに主眼を置いたプログラミング言語です。ベースとしてあるのはC言語になるのですが、比較的学習がしやすいようになっていることと、何となくでも動いてしまうというある意味恐ろしい部分もあってか最初の学習にはピッタリな言語かと思われます。PHPはサーバーサイド・スクリプト言語として利用されていて、Webサーバ上で動作し、Webサーバ上でPHPスクリプトの文書が要求されるたびに、そのPHPスクリプトが実行され、結果をウェブブラウザに対して送信します。平易な文法のため初心者でも習得しやすく、また大規模な開発にも多く用いられています。殆どのフレームワークやライブラリが存在し、開発の手助けとなっています。
勿論欠点もある
PHPは様々なオープンソースウェブアプリケーションに利用されている一方で、たびたび脆弱性の報告がなされたり、深刻なセキュリティーホールなどが報告されることが何度かあったりします。ですので、動かすのは簡単だけど、セキュリティーを維持するのは意外と難しいというのがこのPHPの一つの特徴とも言えるわけです。
PHPの特徴はどんなの?
PHPの特徴はどんなのなのだろうと思った人もいるかもしれませんが大まかに以下のとおりです。
- Webアプリケーションのサーバーサイド・スクリプトに専門化しています。
- C言語やJava言語に似た、平易な文法。
- データベースへの容易なアクセス(組み込み関数、および、標準ライブラリPDOによる)。
- クラスベースオブジェクト指向のサポート。
- 例外処理 (try, catch, throw) のサポート。
- 殆どのオープンソースのフレームワークやライブラリが利用可能であります。
- ASP, JSPと似たHTML埋め込み型の構文をとる。ただし最近のフレームワークを使った開発では、埋め込み型の構文を使用しないことが多いです。
- 様々な付加機能がPEARというオンラインライブラリ集でモジュールとして提供されています。pearコマンドで導入/管理ができます。PerlでいうところのCPANであります。
- ウィキ構築に用いられるソフトのMediaWiki(Wikipediaで使われている)やPukiwikiを始めとして、殆どのオープンソースウェブアプリケーションに利用されています。
- 処理系本体は、C言語で書かれています。
あんまりピンと来なかった人もいるかもしれませんが、HTMLやCSSと同じく、先人たちが通った道などは比較的同じようなソースコードが探せば見つかりますので、それをどんな風に調理していくのか考える程度でもそれなりに立派な物が作れるようになるのも、僕はPHPの魅力の一つだと思っています。ですので、実際にGithubやCodepenなどで気になったソースをフォークしてきて実際に自分の環境で色々弄って遊んでみるというのが一番いいのではないかと思います。そこでまずはXamppとそれらをフォークするためにGitを導入してみましょう。Gitなどはググれば直に導入方法が出てくるかと思いますので導入してみてください。
ローカルで動かすにはXAMPPを導入しよう
先程も紹介しましたが、このXAMPPというソフトを導入しないことにはローカル環境でこのPHPを動かすことは出来ません。
XAMPP(ザンプ)とは、ウェブアプリケーションの実行に必須なフリーソフトウェアをパッケージとしてまとめたもので、apachefriends.orgから提供されています。フリーで使える上に、実際にイントラネット等において実活用として使われることもあります。
Apache(Webサーバ)、MySQL(SQLデータベースサーバ)とWebプログラミング言語であるPHPや同目的で使われるPerlの4つの主要ソフトウェアとphpMyAdmin等の管理ツール、さらにSQLite等、いくつかの補助的なソフトウェアとライブラリモジュールを一つにまとめたもので、コレさえあればほとんどのWEBの開発環境はそろったと言ってしまっていいでしょう。
Codeprepやprog8で大まかに勉強してみよう
最初は何をやっていいかわからないという人が大多数だと思いますので、まずはゲーム形式で学べる物をやるのが良いかと思います。特にCodeprepやProg8などのサイトは楽しく遊びなからやれるのでモチベーションも維持できます。わからないことろがあれば、その都度PHPの公式リファレンスをみてみるのがいいでしょう。またドットインストールの映像付きの講座を受けるのもいいかもしれません。
早速色々弄ってみよう
何となくわかってきたり、実際に「あれ作ってみたい」というのがあれば、早速つくってみるのが良いかと思います。様々なサイトにあるサンプルを組み合わせて作ってみるのもいいですし、わからないところがあれば、その都度調べてみるのがいいかと思います。ただ、実際にあれこれ始める前にPHPチートシートで検索して出てきたものを印刷して手元に置いておくと、ちょっとした時の確認に便利ですので、是非用意しておくといいかと思います。