【初心者向け】PHPの学習 はじめの一歩

数多くあるプログラミング言語の中でも、初心者におすすめの言語の一つが「PHP」です。

PHPはWeb開発に特化したHTMLへの埋め込みが可能なスクリプト言語で、サーバ側の処理を記述するのに適しています。

組み込み関数やフレームワークが充実しており、企業でもWebアプリケーション開発を中心に採用される事例が増えています。これは、PHPを使えば開発効率が良くなることが分かっているからです。 

今回は、PHPが使われる理由やPHPの特徴、これからPHPを習得するメリットなどについてご紹介します。

PHPとは

PHPは「Hypertext Preprocessor」という意味で、「PHP:Hypertext Preprocessor(PHPはHTMLのプリプロセッサである)」という説明を指しています。

HTML ファイル内に直接コードを記述でき、サーバサイドで動作する Web アプリケーションの開発に適しています。 言語構造は簡単で理解しやすく、C 言語の基本構文に多くを拠っています。

Webサイトのバックエンド言語として8割以上のサイトがPHPを利用し、全Webサイトの25%以上はPHPをベースとしたWordPressというソフトを使って開発・運営されています。

PHPを用いて作られているメジャーなプロダクトとしては、先程のWordPress(オープンソースのブログ/CMSシステム)やYahoo!(本家Yahoo!をはじめYahoo!Japan)、ウィキペディア(オープンソースのWikiパッケージ)、クックパッドなどがあります。

PHPは公式サイトのドキュメントも豊富であり、日本語の情報も得られること、学習が比較的容易なこと、メジャーなフレームワークが存在することなどから、Webアプリ開発における有力な選択肢として考えたい言語といえます。

現在利用可能なバージョンは、PHP5とPHP7です。PHP5からPHP7への移行は互換性に難があり注意が必要です。

【ご参考】

PHPが使われる理由

Webアプリケーションは、Webブラウザと通信し、HTTPプロトコルで通信するアプリケーションです。
別記事Webアプリケーション開発するならどのプログラミング言語?参照

Webアプリを開発できるプログラミング言語はメジャーなところで「PHP」の他に、「Java」や「Ruby」、「Perl」などがありますが、なぜPHPが使われることが多いのでしょうか?

理由1:文法がわかりやすく、習得が容易

PHPは比較的読むことも書くことも簡単で、初心者がプログラムを作りながら覚えるには最適な言語といえます。PHPの言語仕様がシンプルだからです。

そのため他の開発言語を使って、Webアプリケーション開発を経験した開発者なら、容易にのりかえることができます。

PHPのように簡単な文法の言語を選ぶことで、Cなどの言語を基にした習得が容易な構文体系なので初期の学習量を抑えることができるでしょう。

理由2:PHPはWebに特化した開発言語

PHPは他の開発言語と違って、Webアプリケーション開発のために生まれた言語です。そのため、Webアプリケーションの実装に便利な機能が言語そのものに備わっています。

ウェブプログラムの実行速度としては、他の言語に比べてすごく早いと言われています。

他の開発言語の場合には、なにか外部のライブラリを使わなければならない場合でも、PHPなら言語そのものに備わっている機能を使って実現できることが数多くあります。

理由3:プログラムの修正が容易

PHPはスクリプト言語であり、コンパイルすることなく実行できます。そのためPHPのソース・コードをWebサーバにコピーするだけで、すぐに実行できます。

そして、プログラムの修正を必要とする場合でも、そのPHPのソース・コードを直接変更すれば、すぐに反映されます。

実際、Webアプリケーション開発の現場では、開発中はもちろん、開発後にも、しばしば小さな修正が発生することがあります。PHPなら、そのようなときにもすぐに対応できるので、重宝します。

理由4:レンタル・サーバでPHPが動く環境が整った

最近のレンタル・サーバは、PHPを動かせるものが非常に多くなってきました。その理由は、「ブログ」の流行です。

ブログ・システムは、その多くがPHPで書かれています。ユーザーは、それらのブログを使いたくてレンタル・サーバを契約するということが多くなったので、レンタル・サーバ側がPHPの実行環境を整えたのです。

理由5:大規模開発でも採用

Yahooが開発にPHPの採用を表明するなど、大規模なWebアプリケーション開発において、PHPが使われるようになってきました。それまで、PHPはごくわずかな小規模なWebアプリケーション開発にだけ使われていました。

しかし、大手サービス・プロバイダがPHPを採用することによって、小規模なWebアプリケーションだけでなく、中大規模なWebアプリケーションにもPHPが採用されるケースが増えてきました。

これは、PHPの信頼性が増し、またPHPを使った開発手法も確立してきたことを意味します。



PHPの特徴

PHPはもともと個人用ホームページの公開やアクセス解析をするための簡易ツールとして作られたため、Web開発に特化しています。

現在では大規模なWebアプリケーションやアプリ開発も可能な、オープンソースのプログラミング言語として改良されており、チャットや掲示板、SNS、ECサイトといった動的なWebページを作成することができます。

動的なページが作成可能

初めて訪問したWebサイトで、見る人によって異なる情報が表示されるページを動的なページと呼びます。Webサイトにアクセスした時間帯やユーザー情報に応じて、トップページに配置する情報をカスタマイズする機能です。

反対に、いつ、どんなユーザーがWebページを訪問しても、あらかじめ決められた内容が表示されるページを静的なWebページといいます。

PHPはサーバサイドの処理を、簡単な文法で記述できます。
動的なWebページには、データベースやブラウザなどから収集したデータを基に、表示内容を生成するプログラムが必要です。

表示内容を生成するプログラムがWebページの提供者であるサーバ側で動作する場合をサーバサイド、それに対して、ユーザー側のブラウザで動作する場合をクライアントサイドと呼びます。

単純な形であれば、HTMLコードの中にPHPコードを埋め込み、これをWebサーバ(内のPHP処理系)が解釈/実行することで、動的にWebページが生成される。

テキストベースで構築できる

PHPの環境構築はテキストベースで開発が可能なため、簡単なテキストエディタがあればそれだけでコーディングが可能です。

特殊な開発環境を構築しなくても豊富な組み込み関数を使ってコーディングができる手軽さがPHPの大きな特徴です。

コンパイルが不要

主にWebアプリ開発に使用されるスクリプト言語であるPHPは、コンパイルが不要です。コンパイルとは、人間が読める状態のソースコードを解析し、コンピュータが実行可能な形式に変換することです。

PHPではこのコンパイル処理が必要なく、テキストベースで記述したプログラムをそのまま実行することができます。

PHPでできること・できないこと

プログラミング言語には、それぞれ得意な分野と不得意な分野があります。PHPでできることとできないことを具体的にご紹介します。

PHPでできること

○ブログの作成

○お問い合わせフォームの作成

○検索機能の作成

○Webアプリの作成

○メンバー登録機能

○ユーザー同士の連絡機能

○コメント機能

○買い物機能

○予約機能

○支払い機能

○課金システム

○評価機能

○投票機能

○ファイルのアップロード機能

PHPベースの開発支援ソフト

開発支援ソフトについては、PHP が一番充実しています。 また無料で使えるものが多いのも PHP の特徴です。

  • CMS WordPress Craftcommerce.com など
  • フレームワーク Symfony/採用事例 Tagheuer.com(タグホイヤー)、BlaBlaCar CakePHP/採用事例 Mapme.com、followmy.tv など
  • プラットフォーム LiteCart や OpenCart など
  • ライブラリ UpLoad や pChart など



PHPでできないこと

PHPは大量のデータ計算や、図形描画などのコンピュータに負荷がかかる作業は不得意です。これは、PHPが並行・並列処理を苦手とするためで、まったくできないというわけではありません。

しかし、処理速度が急激に落ちてしまいます。PHPで高負荷な処理を実行する場合は、データ処理を高速化する工夫が必要です。

○Webオンリー

○トラブルの原因を特定しにくいことがある

○セキュリティーに弱い

PHPを習得するメリット

多くのプログラミング言語の中でも、PHPを学習することにはどのようなメリットがあるのでしょうか。

PHPは、HTMLと組み合わせて使用できる言語です。一般的には、Webページの静的なコンテンツをHTMLで書き、動的なコンテンツをPHPで記述するというすみ分けを行います。

一つのファイルの中だけで静的・動的の両方の処理が完結できるので、プログラムの作成が手軽なだけでなく、修正時にも便利です。

初心者にとっては、PHPは文法がわかりやすい上、HTMLと構造が似ているため、同時に学ぶことで相互理解が深まっていくというメリットもあります。

PHP入門者向け 学習サイト

Progate

Progateは、デザインとインターフェースに力を入れており、とても使いやすいです。PHP以外にも、HTMLやCSSといった他の言語のクラスも用意されています。
(PHP  全5レッスン)

https://prog-8.com/languages/php

ドットインストール

PHP入門は、全30回にまとまっています。全て無料で拝聴可能です。その他、PHPを使って、データを扱う際には欠かせない知識MySQL入門やPHPデータベース入門といった、データ関連のコースも充実しています。
(PHP入門他 有料も含め全14レッスン)

https://dotinstall.com/lessons

CODEPREP

プログラミングの学習でもっとも大事なのは、実際にコードを書いてみること、です。codeprepを使えば、実際にコードを書きながら勉強を進めることができます。
(PHP  全2レッスン)

https://codeprep.jp/

PHPマニュアル

著作権 · PHP マニュアル · 序文 · はじめに · 入門 · 簡易チュートリアル · インストールと設定 · インストールにあたっての一般的な注意事項 などについての記載があります。

https://secure.php.net/manual/ja/index.php

そふぃのPHP入門

プログラム経験のない初心者の方向けの内容。PHPスクリプトの書き方を初心者にも分かるように解説するPHP入門サイト。PHPスクリプトの入門リファレンスやPHP関数一覧、PHPのサンプルスクリプトなど。

http://php-beginner.com/aboutphp/

PHP入門者向け 入門書

いきなりはじめるPHP~ワクワク・ドキドキの入門教室~

谷藤賢一  (著), 河原健人 (イラスト)
PHPの雰囲気を掴むにはちょうどいい量と解説の本にぴったり。PHPからMySQLまで一通り体験することができます。


Amazonへ

イラストでよくわかるPHP はじめてのWebプログラミング入門

岡本 雄樹 (著), アシアル株式会社 (著), めじろまち (イラスト)
企業のWeb担当者や個人でサイトを運営している人たちなど、プログラミングの前提知識がない人でも理解できることを目標に書かれたPHPの入門書です。

Amazonhへ

勉強会やコミュニティに参加

PHPの開発環境構築

PHPはWEBサーバー上で動くため、開発するにはWEBサーバーにPHPがインストールされた環境が必要になります。

XAMPPは、PHPの代表的な開発環境ソフトで、参考書でもよくXAMPPが利用されています。

XAMPPもしくはMAMPをインストールすると、PHPコードをパソコンで処理できるようになり、MySQLというデータベースを利用可能です。

名前の由来は
X – Windows、Linux、Mac OS X、Solarisのクロスプラットフォーム
A – Apache
M – MySQL
P – PHP
P – Perl
の頭文字です。

  • XAMPPは完全に無償で MariaDB、PHP、および Perl を含んだ、簡単にインストールできる Apache ディストリビューションです。

XAMPP Control Panelでは、次のソフトの「起動/停止」ができます。

  • Apache
    ApacheのWebサーバです。PHPを使うには、Apacheをオンにする必要があります。
  • MySQL
    データベースを使用するときはオンにします。
  • FileZilla
    FTPサーバを使いたいときにオンにします。
  • Mercury
    PHPからメールの送受信をしたいときにオンにします。

PhpStormはPHPプログラマ向けのIDE(統合開発環境)です。

使うにはライセンスが必要ですが、PHPでWebアプリケーションを作る際に必要な要素が一通りそろっており、足りない機能があればプラグインなどで機能を追加することが可能です。

PHPプログラマは絶対使うべきと強力にプッシュする方もいます。

※開発環境構築を簡単に行うには、以下のサイト(PaizaCloud)を利用してPHPの書き方を試して下さい。 必要なのはブラウザのみで、インストール等は全く不要です。

PaizaCloudへいく

<?php
 
echo '<p>Hello World</p>';
 
// これはコメントです
# これもコメントです
/*
 これはコメントが
 複数行にわたる場合です。
*/

?



まとめ

プログラミング言語は1,000種類以上あるともいわれており、RubyやSwiftなどの新しい言語も登場しています。

その中でも人気が高いPHPの魅力は、導入や開発の手軽さにあります。文法がわかりやすく初心者でも始めやすいからです。

その一方で、テンプレートエンジンや各種Webアプリフレームワークを利用することで、プレゼンテーション/ロジック/モデルを分離して開発を進めることも多く、システム開発の第一線で採用される実力も備えています。

PHPは公式サイトのドキュメントも豊富であり、日本語の情報も得られること、学習が比較的容易なこと、メジャーなフレームワークが存在することなどから、Webアプリ開発における有力な選択肢として考えたい言語といえます。

プログラミング初心者ならば、まずPHPで動的なWebページを作ってみてはいかがでしょうか。

シェアする

  • このエントリーをはてなブックマークに追加