見出し画像

【PHP】プログラムのプリプロセッサとは|プログラミング勉強記録

PHP(ピー・エイチ・ピー)は、オープンソースの汎用プログラミング言語およびその公式の処理系、特にサーバーサイドで動的なウェブページを作成するための機能を多く備えていることを特徴としている。 "PHP: Hypertext Preprocessor" を意味するとされており、「PHPはHTMLのプリプロセッサである」とPHP自身を再帰的に説明している。

※プリプロセッサ

プリプロセッサ (英: preprocessor) とは、一般にある処理を行うソフトウェアに対して、データ入力やデータ整形などの準備的な処理を行うソフトウェアのことである。個人的にはコンパイラ(他の言語に翻訳)する際の前に一度、編集(Wordで言うと校閲)にあたるものだと個人的に触ってみて思う。例えば、入力時にもともと記述しているコードに他のコードを追記し優先する際に出力時には余分なコードとして『切り取り』余分なコードをコンパイラしないようにしている。

PHPとは

PHPはCで開発していたCGIプログラムである "Personal Home Page Tools" (短縮されて "PHP Tools" と呼ばれていた)を起源とする。 元々はWebサイトで簡単な動的Webページを作成するために用いられていたが、その後データベースへのアクセス機能などを追加したPHP Toolsを1995年にGPLの下で公開した。

オープンソースライセンスの下で公開されたことにより同ツールの利用者が増加し、機能の追加を行う開発者たちの貢献もあって、幾度かの大きなバージョンアップを経て今日に至っている。 PHPの再帰的頭字語が PHP: Hypertext Preprocessor となったのは2017年現在の文法の基礎が確立したPHP 3からである。

元々PHPはプログラミング言語と言えるものではなく、単にテンプレート的な処理を行うだけであったが、度重なる機能追加やコードの書き直しにより、2017年現在リリースされているPHP 5やPHP 7は目的によらず汎用的に使うことの出来るスクリプト言語となっている。

プログラミング言語としてのPHPは、CやPerl, Javaなどのプログラミング言語に強く影響を受けており、これらの言語に近く学習しやすい文法を有する。 組み込み関数についてもこれらの言語から直接輸入されたものも多く、関数名を変えずにそのまま取り込んだことで標準関数の命名規則が一貫していないといった問題も有していることがある。

【勉強記録】PHP基本構文

<?php echo 'Hello world!'; ?>

PHPの処理系はPHPタグ<?php ?>で囲われた部分を解釈・実行し、その外側の部分はそのまま文字列として出力する。 単純にデータを出力する場合にはPHPタグを<?= ?>と略記することが可能であり、更にPHPタグがファイルの末尾にある場合はファイル末尾の空白や改行の影響を避けるためにPHPタグを閉じないことが推奨されるので、次のように書いても同じ結果が得られる。

次のように、数値として「 5+2 」を行うと7が出力される。ただし「5+2」をシングルクォーテーションやダブルクォーテーションで囲む(=『“5+2”』)と、文字列と解釈されてそのまま出力される。

<?php
echo 5+2; //結果: 7
echo '5+2'; //結果: 5+2
?>

※変数のイメージ

<?php
$number999 = 100;
echo "number999(ナンバー999) = ", $num1;
?>

出力は『numebr999(ナンバー999) = 100』とでる。

プログラミングにおいて、データを一時的に保存する箱が変数。変数はまず宣言を行い、宣言した変数に対して値の代入を行わなければならない。段ボール箱で説明すると、段ボール箱に『宣言する文字』のシールが貼ってあり、『中身:値』があるイメージ。

コメントは、ソースコードの目的や説明を正しく伝えるために記述します。コメントを記述しておけば、ほかの人が内容を理解するのも容易になる(=人だけではなく他の機械や物にも)。コメントする場合は、行頭に「//」を使用する(※1行コメントの場合)。

<?php
// Hello worldを出力する
echo 'Hello world'?>

まとめ

PHPと他の言語、Internet、出力などの連携図_資料

PHPをこれからプログラミング学習で勉強しようと思って1番最初に勉強するのはおすすめしない。紙で印刷して勉強するのであればおすすめだが、パソコンでローカル環境を作るところがまずWindowsの場合は結構ネック(Macは分かりません。。。)なのでパソコンで記述するのはおすすめしないです。逆に、好きな画像やHTML、Java、PHPのコードをメモ帳やWordでコピペして印刷して紙媒体で勉強するのであれば他のプログラミング言語でも土台としてはプログラミングを勉強しやすい環境としては一番、個人的には最高だと思います。

【ここからは考察】

※霧が雲を錬成するのであれば海から山に向けて風が走るので霧の天気記号から推測すると霧が音を吸収し風によって運ばれ雲になる可能性も少なくはないのかなと感じました。紙に書いたらすでインターネットに資料として利用され出てくるのであれば世の中は円を描くように廻っているなと錬金術を感じた。

この記事が気に入ったらサポートをしてみませんか?