WEBトレ

PHP

PHPとは

HTMLは静的なWEBページを作成できるのに対して、PHPはそのHTMLと組み合わせて動的WEBページの開発を可能にするものです。
次に、PHPとJavaScriptの違いです。JavaScriptは、ユーザーが見るWeb画面に変化をもたらすために使用します。たとえば入力項目が正しく入力されているかのチェックや、ユーザーにメッセージを通知する際などに使用します。
このような処理を行うJavaScriptは、皆さんが利用しているパソコンのWebブラウザ上で動いています。一方、PHPはWebサーバーといわれる場所で動いており、データベースからデータを取得・加工して、各ユーザーのパソコンへ連携するといった動きをしています。

PHPのメリット

構造がシンプルで簡単

PHPは構文がシンプルなので、初心者であっても理解しやすいのがポイントです。
プログラミング言語によっては、一見どのような処理をしているのかわかりにくい複雑な記述ルールとなっているものもあります。

インターネット上に多くの情報がある

PHPはWebサービス開発に多く使用されており、人気が高いプログラミング言語です。そのため、PHPに対する情報はインターネット上にたくさん存在していることもメリットの1つです。
プログラミングをしていると、見たことがないエラーやよくわからないトラブルが発生することがあります。このようなときインターネット上に情報がないと、有識者に質問するか、自力で解決しなければなりません。
このような方法では大きな時間を費やしてしまいますし、最悪の場合は解決することができないこともあります。PHPであればインターネットを検索するだけで、多くの有益な情報を得ることができます。

学習コストが低い

PHPは、学習コストが低いプログラミング言語としても有名です。
前述した「構文がシンプル」や「インターネット上に情報が多い」ということにも関連していますが、PHPは比較的習得しやすいプログラミング言語であり、ほかの言語と比較してもあまり時間をかけずにマスターできます。

学需要が高く案件が豊富

繰り返しになりますが、PHPは人気があるプログラミング言語の1つです。
そのため、需要が高く仕事も豊富にあります。これもエンジニアにとっては大きなメリットです。
仕事が豊富にあるということは、初心者であっても比較的案件を獲得しやすい状況だといえます。

強力なフレームワークがある

PHPには、強力なフレームワークがたくさんあります。フレームワークとはあらかじめ必要な機能がたくさんつまったものであり、開発の生産性を飛躍的に向上できます。
たとえばWebアプリケーションをつくりたいとき、PHPのWebフレームワークであるLaravelを使えば、圧倒的なスピードでWebアプリケーション完成させられます。このような強力なフレームワークがあることによって、エンジニアから多くの支持を集めているという側面もあります。

※ フレームワーク : 意思決定や分析、解決したい問題を特定の型に落とし込み、手順に沿って整理していくための、共通して利用できる思考の枠組み

PHPのデメリット

セキュリティが甘め

PHPは、脆弱性が多いプログラミング言語だといわれています。脆弱性とはセキュリティの弱点のようなもので、これを放置していると悪意を持ったユーザーから攻撃され、深刻な被害をもたらすリスクがあります。
PHPは現在も日々アップデートされ続けています。このアップデートの中でセキュリティについての対策も行われているのですが、プログラミング仕方しだいで脆弱性を生んでしまうこともあります。
たとえばPHPでECストアを作る場合、会員機能や決済処理といったユーザーの個人情報や重要な情報を扱います。そのような機能部分は、エンジニアがしっかりとセキュリティを考慮したプログラミングを行う必要があります。

自由度が高すぎる

PHPはシンプルな構文だということは前述したとおりですが、自由度が高いため、コードを書く人によっては同じ処理でも全く違う書き方ができたりします。
その自由度の高さ故にバグを見過ごしてしまったり、知らず知らずのうちに危険なコードを書いて実行してしまう可能性もあります。

PHPでできること

Webアプリケーションの開発

Webアプリケーション、たとえばFacebookのようなSNSサービスで友人とコミュニケーションをとったり、Slackのようなチャットサービスで仕事の連絡をしたり、Rettyのようなグルメ情報サイトで夕食をとるレストランを探したりといった具合です。 これらのWebアプリケーションはすべてPHPで開発されています。PHPは日本だけではなく、世界的にも人気が高いプログラミング言語であるため、非常に多くのWebアプリケーションの開発に使用されているのです。 普段何気なく見ているWebサイトもPHPでつくられている可能性はとても高く、とても身近なプログラミング言語なのです。

CMS (Contents Management System)のカスタマイズ

Webサイトを簡単に構築するためのソフトウェアとして、CMS (Contents Management System)と呼ばれるものがあります。CMSとしては、WordPress、Drupalといった製品が有名です。このWordPress、DrupalなどといったCMSは、すべてPHPで開発されています。
これらCMSですが、標準的な機能はパッケージされているものの、独自の機能を追加する(カスタマイズ)場合があります。これには開発に使われたPHPが使われます。

PHPの書き方

相対パスをワードプレス独自の関数に修正

WordPressで相対パスを機能させたい場合はパスの記述を変更する必要があります。
CSSなどのリンクへとアクセスするためには次の関数を使用します。

css/JavaScript等の相対パスの修正

■修正前
<link rel="stylesheet" href="mystyles.css">

■修正後
<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/mystyle.css">

画像ファイルのパスの修正

■修正前
<img src="images/top.jpeg" alt="トップページ画像">

■修正後
<img src="<?php echo get_template_directory_uri(); ?>/images/top.jpeg" alt="トップページ画像">

タグの使い方

<?php wp_head(); ?>を</head>タグの直前に、<?php wp_footer(); ?>を</body>タグの直前に挿入します。
これらのタグは、ヘッダーとフッターを表示するために必要なので実質必須の書き込みとなっています。