メインページ > 工学 > 情報技術 > プログラミング > PHP

PHPは、汎用スクリプト言語ですが、CGI/FastCGIあるいはウェブサーバー組込みモジュールを介してウェブサービスで利用されることか多く、本書でもウェブでの利用を念頭に解説します。

PHPのコードは通常、モジュール、デーモン、あるいはCommon Gateway Interface (CGI) 実行ファイルとして実装されたPHPインタプリターによってウェブサーバー上で処理されます。 ウェブサーバー上では、PHPコードが解釈され実行された結果、生成されたHTMLやバイナリ画像データなど、あらゆる種類のデータがHTTPレスポンスの全体または一部を形成することになります。 様々なウェブテンプレートシステム、ウェブコンテンツ管理システム、およびウェブフレームワークが存在し、これらのシステムを使ってレスポンスの生成を統制し、円滑化することができます。 さらに、PHPはウェブ以外のプログラミングにも応用することができ、スタンドアローンのグラフィカルなアプリケーションやロボットやドローン制御などの組込みシステムでも使用可能です。

PHPは2022年12月現在、唯一サポートされているバージョン PHP 8 が提供されています[1][2][3]

目次編集

  1. 開発環境
  2. コマンドライン
  3. テキスト表示とコメント
  4. 変数と値
  5. データー型
  6. 配列
  7. 条件分岐
  8. 反復  — while, for, foreach
  9. 関数
  10. HTMLフォーム
  11. ファイル入出力
  12. データベースとの連携
  13. PHPのオブジェクト指向

PHPの新機能編集

PHPは、バージョンごとに多くの新機能が追加されています。以下に、PHP 7.0以降の主要な新機能をいくつか紹介します。

  1. Null合体演算子: ??演算子は、左側の値がnullでない場合は左側の値を返し、そうでない場合は右側の値を返します。
  2. スカラー型宣言: 関数の引数と戻り値に、スカラー型宣言(int、float、string、bool)を使用できるようになりました。
  3. 厳密なモード: 厳密なモードを有効にすることで、PHPは暗黙的な型変換を行わず、厳密な型チェックを行います。
  4. 匿名クラス: PHP 7から、匿名クラスを作成できるようになりました。これにより、一時的なオブジェクトを作成することができます。
  5. Closure::call()メソッド: Closure::call()メソッドは、別のオブジェクトのコンテキストでクロージャを実行することができます。
  6. Group use宣言: use宣言をグループ化して、複数の名前空間を一度にインポートできるようになりました。
  7. Unicode codepointエスケープ構文: "\u{XXXX}"の形式で、Unicode codepointをエスケープすることができます。
  8. 多倍長整数サポート: GMPおよびBCMath関数のパフォーマンスが向上し、64ビットのプラットフォームで多倍長整数を使用できるようになりました。
  9. Return type宣言: 関数の戻り値に、クラス、インターフェース、およびスカラー型を指定できるようになりました。
  10. Generator return expressions: Generatorのreturn文で、値を返すことができるようになりました。

これらの機能は、PHPの新しいバージョンで利用可能です。ただし、いくつかの機能は、最新のバージョンでのみ利用可能な場合があります。

PHPとジェネリックプログラミング編集

PHPは、ジェネリックプログラミングをサポートしていません。ジェネリックプログラミングとは、データ型を抽象的な形式で表現し、異なる型のデータを扱うための一般的なアルゴリズムやデータ構造を実装する手法です。一方、PHPは動的型付け言語であり、変数の型が実行時に決定されるため、ジェネリックプログラミングに必要な型情報を静的に解析することができません。

ただし、PHPには多くのライブラリやフレームワークがあり、これらのいくつかは、ジェネリックプログラミングの特定の側面をサポートすることがあります。例えば、PHPのフレームワークであるLaravelには、Eloquent ORMと呼ばれるORM(オブジェクト関係マッピング)があり、これは一部のジェネリックプログラミングの概念を実装しています。

一般的に、ジェネリックプログラミングを必要とする場合は、PHPよりも静的型付け言語であるJavaやC#などを使用することが推奨されます。

脚註編集

  1. ^ PHP7.4系列は、2022/11/28にEnd of lifeを迎えました。
  2. ^ Unsupported Branches
  3. ^ Supported Versions(2022-12-02)