はじめてのPHPプロフェッショナル開発 ch1

PHP勉強メモ

[https://www.shuwasystem.co.jp/book/9784798047492.html:embed:cite]

Chapter01 進化するPHP

Section01 PHPの歴史

PHPの前史〜PHP3

  • 1994

    • Personal Home Page Tools 誕生

      • by Rasmus Lerdorf
      • プログラミング言語じゃない
  • 1996

    • PHP/FI: Forms Interpreter リリース
    • 「プログラミング言語」になった

      • DB接続
      • クッキー
      • ユーザ定義関数
  • 1998

    • 世界中のドメインの1%がヘッダに「PHP」の文字列を含む
    • ちょっとしたコントリビューターは何人か居るけど…という状態
  • 1998

    • PHP3.0リリース
    • 現存のPHPに近い形
    • PHP: PHP Hypertext Preprocessor (再帰的頭字語)

      • 個人向け感を廃する新しい名前
    • 拡張性

      • 多くの開発者が多様なモジュールを用意できるように

PHP 3.0 の最も強力な点は、その拡張性でした。 さまざまなデータベースやプロトコル、そして API を扱うための成熟したインターフェイスをユーザー向けに用意しただけでなく、 その言語自身も拡張しやすいものにしました。 そのおかげで、多くの開発者がさまざまなモジュールを開発するようになりました。 間違いなく、これこそが PHP 3.0 が大成功を収めた鍵でしょう。 PHP 3.0 で登場したその他の主要機能には、 オブジェクト指向プログラミングのサポートやより強力で一貫性のある言語構文などがあります。

  • 1999

    • Zend Engine搭載

      • PHPのコア部分の大改修

        • パフォーマンスの改善
        • PHPコードのモジュールとしての独立性を高める
    • 文法面

      • Boolean型
      • 参照
      • ヒアドキュメント

        • Linuxの<<的なやつ
      • foreach

PHP5の登場

  • 2004

    • PHP5.0公開

      • Zend Engine 2.0
    • 5.x系は10年間にもわたる
    • 文法面

      • アクセス修飾子

        • public
        • protected
        • private
      • interface
      • 例外
      • マジックメソッド
      • オブジェクトの代入の挙動の変更

        • コピーではなく参照
  • PHP5.1/PHP5.2

PHP5.3以降〜PHP5の終了

そしてPHP7へ

  • 2015

    • 2019現在最新のメジャーバージョン
    • Hack/HHVMの影響を受けたとされる

      • Facebook製
      • Hack: 言語
      • HHVM: HipHop Virtual Machine
      • PHP互換
    • パフォーマンス向上

      • 添字が0始まりの連番の配列とか

Section02 PHPの特徴

  • PHPにできることは?

    • サーバーサイドでのスクリプティング

      • 動かすもの

        • PHP Parser
        • Webサーバー
        • Webブラウザ
    • コマンドラインでのスクリプティング(バッチ処理とか)

      • PHP Parserのみ

        • WebサーバもWebブラウザもなし
      • cronとかで実行
    • クライアントサイドでのGUIアプリケーション

  • プログラミング言語としての特徴

    • OOP

      • interface
      • trait
    • 動的型付け
    • namespace
  • 初心者でも動くものを作りやすい
  • モダンなアプリケーションの開発にも十分に耐える