[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の
<<
的なやつ
- Linuxの
- foreach
-
PHP5の登場
-
2004
-
PHP5.0公開
- Zend Engine 2.0
- 5.x系は10年間にもわたる
-
文法面
-
アクセス修飾子
- public
- protected
- private
- interface
- 例外
- マジックメソッド
-
オブジェクトの代入の挙動の変更
- コピーではなく参照
-
-
-
PHP5.1/PHP5.2
-
PDOの拡張モジュール公開・コアへの組み込み
- php.ini
extension=pdo.so
- php.ini
- 拡張モジュールJSONの組み込み(デフォルト有効)
- DateTimeクラスの新設
-
PHP5.3以降〜PHP5の終了
-
PHP5.3
- PHP6のなりそこない
-
機能
- namespace
-
- 静的メソッドについてもポリモーフィックに何かするやつ
-
- ヒアドキュメントみたいなやつ
- クラス外でのconstキーワードの利用
-
PHP5.4
- trait
-
各種ショートハンド
array(1,2,3)
=>[1,2,3]
<?=
タグによるエコーの常時有効化
-
PHP5.5
-
PHP5.6
そしてPHP7へ
-
2015
- 2019現在最新のメジャーバージョン
-
Hack/HHVMの影響を受けたとされる
- Facebook製
- Hack: 言語
- HHVM: HipHop Virtual Machine
- PHP互換
-
パフォーマンス向上
- 添字が0始まりの連番の配列とか
Section02 PHPの特徴
-
-
サーバーサイドでのスクリプティング
-
動かすもの
- PHP Parser
- Webサーバー
- Webブラウザ
-
-
コマンドラインでのスクリプティング(バッチ処理とか)
-
PHP Parserのみ
- WebサーバもWebブラウザもなし
- cronとかで実行
-
-
クライアントサイドでのGUIアプリケーション
-
-
プログラミング言語としての特徴
-
OOP
- interface
- trait
- 動的型付け
- namespace
-
- 初心者でも動くものを作りやすい
- モダンなアプリケーションの開発にも十分に耐える