Warning: Undefined variable $type in /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php on line 3

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/users/1/sub.jp-asate/web/wiki/includes/json/FormatJson.php on line 297

Warning: Trying to access array offset on value of type bool in /home/users/1/sub.jp-asate/web/wiki/includes/Setup.php on line 660

Warning: session_name(): Session name cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/Setup.php on line 834

Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/session/PHPSessionHandler.php on line 126

Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/session/PHPSessionHandler.php on line 127

Warning: session_cache_limiter(): Session cache limiter cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/session/PHPSessionHandler.php on line 133

Warning: session_set_save_handler(): Session save handler cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/session/PHPSessionHandler.php on line 140

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/users/1/sub.jp-asate/web/wiki/languages/LanguageConverter.php on line 773

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/Feed.php on line 294

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/Feed.php on line 300

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/WebResponse.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/WebResponse.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/WebResponse.php on line 46
http:///mymemo.xyz/wiki/api.php?action=feedcontributions&user=1.115.195.149&feedformat=atom miniwiki - 利用者の投稿記録 [ja] 2024-05-05T16:51:28Z 利用者の投稿記録 MediaWiki 1.31.0 PHP (プログラミング言語) 2018-08-17T02:38:00Z <p>1.115.195.149: バージョン更新</p> <hr /> <div>&lt;!--削除についての議論が終了するまで、下記のメッセージ部分は除去しないでください。もしあなたがこのテンプレートを除去した場合、差し戻されます。またページが保護されることもあります。--&gt;<br /> {{Sakujo/本体|2018年7月4日|PHP (プログラミング言語)}}<br /> &lt;!-- 削除についての議論が終了するまで、上記部分は削除しないでください。 --&gt;<br /> {{Copyright}}<br /> {{Infobox プログラミング言語<br /> | fetchwikidata = ALL<br /> | onlysourced = false<br /> | name = PHP<br /> | released = {{#time: Y年Fj日 |{{Wd|properties|raw|P571}}}}<br /> | latest release version = 7.2.9<br /> | latest release date = {{start date and age|2018|08|16}}<br /> | latest preview version = 7.3.0 beta 2<br /> | latest preview date = {{start date and age|2018|08|16}}<br /> | typing = 強い[[動的型付け]]<br /> | implementations = [https://php.net/ PHP], [[HHVM]], [[Phalanger]]<br /> | dialects = [[Hack (プログラミング言語)|Hack]]<br /> | influenced =<br /> | programming language =<br /> | wikibooks = PHP<br /> }}<br /> {{プログラミング言語}}<br /> &#039;&#039;&#039;PHP&#039;&#039;&#039;(ピー・エイチ・ピー)は &quot;The PHP Group&quot; によってコミュニティベースで開発&lt;ref name=&quot;Contributing to PHP&quot;&gt;{{<br /> Cite web<br /> |url=//php.net/get-involved.php <br /> |title=Contributing to PHP <br /> |publisher=php.net<br /> |accessdate=2018-02-02<br /> }}&lt;/ref&gt;されているオープンソースの汎用[[プログラミング言語]]およびその[[リファレンス実装|公式の処理系]]であり、特にサーバーサイドで動的な[[ウェブページ]]作成するための機能を多く備えていることを特徴とする&lt;ref name=&quot;php.net&quot;&gt;{{<br /> Bquote<br /> |PHP is a popular general-purpose scripting language that is especially suited to web development.<br /> |<br /> |<br /> |The PHP Group<br /> |php.net<br /> }}&lt;/ref&gt;。<br /> 名称の &#039;&#039;&#039;PHP&#039;&#039;&#039; は[[再帰的頭字語]]として、 &quot;{{lang|en|PHP: Hypertext Preprocessor}}&quot; を意味&lt;ref name=&quot;What is PHP&quot;&gt;{{<br /> Cite web<br /> |url=//php.net/manual/intro-whatis.php<br /> |title=What is PHP<br /> |work=PHP Manual<br /> |publisher=php.net<br /> |accessdate=2018-02-02<br /> }}&lt;/ref&gt;&lt;ref name=&quot;History of PHP&quot;&gt;{{<br /> Cite web<br /> |url=//php.net/manual/history.php.php<br /> |title=History of PHP<br /> |work=PHP Manual<br /> |publisher=php.net<br /> |accessdate=2018-02-02<br /> }}&lt;/ref&gt;するとされており、「PHPは[[HTML]]の[[プリプロセッサ]]である」とPHP自身を再帰的に説明している。<br /> <br /> == 概要 ==<br /> PHPは[[ラスマス・ラードフ]]が個人的に[[C言語|C]]で開発していた[[Common Gateway Interface|CGI]]プログラムである &quot;{{lang|en|Personal Home Page Tools}}&quot; (短縮されて &quot;{{lang|en|PHP Tools}}&quot; と呼ばれていた)を起源とする&lt;ref name=&quot;History of PHP&quot; /&gt;。<br /> 元々はラードフ自身のWebサイトで簡単な動的Webページを作成するために用いられていたが、その後データベースへのアクセス機能などを追加したPHP Toolsを1995年に[[GNU General Public License|GPL]]の下で公開した&lt;ref name=&quot;PHP under GPL&quot;&gt;{{<br /> Cite web<br /> |url=https://groups.google.com/forum/#!msg/comp.infosystems.www.authoring.cgi/PyJ25gZ6z7A/M9FkTUVDfcwJ<br /> |title=Announce: Personal Home Page Tools (PHP Tools)<br /> |publisher=Google Group<br /> |author=[[ラスマス・ラードフ|Rasmus Lerdorf]]<br /> |accessdate=2018-02-02<br /> }}&lt;/ref&gt;。<br /> オープンソースライセンスの下で公開されたことにより同ツールの利用者が増加し、機能の追加を行う開発者たちの貢献もあって、幾度かの大きなバージョンアップを経て今日に至っている。<br /> PHPの[[再帰的頭字語]]が PHP: Hypertext Preprocessor となったのは2017年現在の文法の基礎が確立したPHP 3から&lt;ref name=&quot;History of PHP&quot; /&gt;である。<br /> <br /> 先に述べたように、PHPは動的なWebページを生成するツールを起源としているため、公式の処理系にはWebアプリケーション開発に関する機能が豊富に組み込まれている。<br /> 元々PHPはプログラミング言語と言えるものではなく、単にテンプレート的な処理を行うだけであったが、度重なる機能追加やコードの書き直しにより、2017年現在リリースされているPHP 5やPHP 7は目的によらず汎用的に使うことの出来るスクリプト言語となっている。<br /> 特に[[Apache HTTP Server]]や[[nginx]]といった[[Webサーバー]]ソフトウェアから動作させるスクリプト言語として選択されてサーバーサイドWebアプリケーション開発に利用されることが多い。<br /> <br /> プログラミング言語としてのPHPは、[[C言語|C]]や[[Perl]], [[Java]]などのプログラミング言語に強く影響を受けており、これらの言語に近く学習しやすい文法を有する。<br /> 組み込み関数についてもこれらの言語から直接輸入されたものも多く、関数名を変えずにそのまま取り込んだことで標準関数の命名規則が一貫していないといった問題も有している。<br /> また[[C言語|C]]由来の[[ヌル終端文字列]]と[[ヌル文字]]を含むことを許容する文字列とが併存し、関数によってどちらを取り扱うかが異なっていたために深刻なセキュリティ上の問題を起こしたこともある&lt;ref name=&quot;Null bytes related issues&quot;&gt;{{<br /> Cite web<br /> |url=//php.net/manual/security.filesystem.nullbytes.php<br /> |title=Null bytes related issues<br /> |work=PHP Manual<br /> |publisher=php.net<br /> |accessdate=2018-02-02<br /> }}&lt;/ref&gt;。<br /> <br /> PHPで書かれたライブラリは、[[PEAR]]を利用してシステムワイドにインストールしたりユーザ単位で利用することが多かったが、2012年に[[Ruby]]のパッケージ管理ツールである[[RubyGems]]及び依存関係管理ツール[[:en:Bundler (Software)|bundler]]、[[Node.js]]の[[npm]]に影響を受けて開発された[[Composer]]が公開されたことにより、パッケージリポジトリPackagist&lt;ref name=&quot;Packagist&quot;&gt;[https://packagist.org/ packagist.org]&lt;/ref&gt;に登録されたライブラリをプロジェクト単位で利用することが容易になった。<br /> <br /> PHP製のWebアプリケーションフレームワークが増加したことにより、それらが提供するロガーやHTTPリクエストハンドラなどといった共通の機能を実装するコードの再利用性を高めるため、2010年頃にフレームワーク開発者などが集まってPHP Standard Groupを立ち上げた&lt;ref name=&quot;PHP-FIG&quot;&gt;[http://www.php-fig.org/ www.php-fig.org]&lt;/ref&gt;。<br /> PHP Standard Groupはその後PHP-FIG (Framework Interoperability Group)に改称し、クラスオートローディングの規格やコーディング規約などの推奨される標準規格、&#039;&#039;&#039;PSR&#039;&#039;&#039; (PHP Standards Recommendations)の策定を行っている&lt;ref name=&quot;PHP Standards Recommendations&quot;&gt;{{<br /> Cite web<br /> |url=http://www.php-fig.org/psr/<br /> |title=PHP Standards Recommendations<br /> |publisher=PHP-FIG<br /> |accessdate=2018-02-02<br /> }}&lt;/ref&gt;。<br /> <br /> === プログラミング言語としての特徴 ===<br /> * [[Hypertext Markup Language|HTML]]埋め込み型の構文(Hypertext Preprocessorたる所以)<br /> * [[C言語|C]]や[[Java]]に似た平易な文法<br /> * 弱い[[動的型付け]]<br /> * [[クラスベース]][[オブジェクト指向]]のサポート<br /> * [[例外]]処理 (try, catch, throw) のサポート<br /> <br /> === 処理系としての特徴 ===<br /> * サーバーサイドWebアプリケーション構築のための豊富な組み込み関数<br /> * データベースへの容易なアクセス(ベンダーごとの組み込み関数、[[PHP Data Object|PDO]])<br /> * [[PECL]]による言語機能の拡張<br /> * 多くのWebサーバへの組み込みの標準サポート<br /> <br /> == 構文 ==<br /> [[プログラミング言語]]としてのPHPは[[C言語|C]]や[[Perl]]などの影響を強く受けており、同じくこれらに影響を受けた[[Ruby]]や[[Python]]と比較してよりCそのままに近い制御構文を有している。<br /> また[[クラス_(コンピュータ)|クラス]]や[[インタフェース (情報技術)|インターフェイス]]といったオブジェクト指向構文は[[C++]]より[[Java]]に近いものが採用されている。<br /> 文法の近さによって利用者の多いCやJavaからPHPを学んだり、その逆も行いやすいことは言語の学習コストの面からは大きな利点である。<br /> <br /> === Hello world ===<br /> PHPによる[[Hello world]]の最も簡単な実装は、単にテキストファイルとして「Hello world」を記述するだけでよい。<br /> &lt;source lang=&quot;php&quot;&gt;<br /> Hello world!<br /> &lt;/source&gt;<br /> <br /> PHPはテキストファイルに[[HTML]]タグのように埋め込んで書き、それ以外の部分はそのまま出力されるため、上記は(プログラムとして実行される部分は存在しないものの)正しく処理系によって認識されて「Hello world!」を出力する。<br /> もう少しプログラムらしい書き方をすれば次のような記述が出来る。<br /> &lt;source lang=&quot;php&quot;&gt;<br /> &lt;?php echo &#039;Hello world!&#039;; ?&gt;<br /> &lt;/source&gt;<br /> <br /> PHPの処理系は&#039;&#039;&#039;PHPタグ&#039;&#039;&#039;&lt;code&gt;&lt;?php ?&gt;&lt;/code&gt;で囲われた部分を解釈・実行し、その外側の部分はそのまま文字列として出力する。<br /> 単純にデータを出力する場合にはPHPタグを&lt;code&gt;&lt;?= ?&gt;&lt;/code&gt;と略記することが可能であり、更にPHPタグがファイルの末尾にある場合はファイル末尾の空白や改行の影響を避けるためにPHPタグを閉じないことが推奨されるので、次のように書いても同じ結果が得られる。<br /> &lt;source lang=&quot;php&quot;&gt;<br /> &lt;?=&#039;Hello world!&#039;<br /> &lt;/source&gt;<br /> <br /> === 文字列と数値の違い ===<br /> 次のように、[[数値]]として「 5+2 」を行うと7が出力される。ただし「5+2」を[[シングルクォーテーション]]や[[ダブルクォーテーション]]で囲むと、[[文字列]]と解釈されてそのまま出力される。<br /> &lt;source lang=&quot;php&quot;&gt;<br /> &lt;?php <br /> echo 5+2; //結果: 7<br /> echo &#039;5+2&#039;; //結果: 5+2<br /> ?&gt;<br /> &lt;/source&gt;<br /> <br /> == 処理系 ==<br /> プログラミング言語としてのPHPを実行するための The PHP Group による[[リファレンス実装|公式な処理系の実装]]も、プログラミング言語としてのPHPと区別されることなく &#039;&#039;&#039;PHP&#039;&#039;&#039; と呼ばれる。<br /> 2014年頃までプログラミング言語としてのPHPには規格などが存在しなかった&lt;ref&gt;{{<br /> Cite web<br /> |author=Joab Jackson<br /> |date=2014-07-31<br /> |url=https://www.itworld.com/article/2697195/enterprise-software/php-gets-a-formal-specification--at-last.html<br /> |title=PHP gets a formal specification, at last<br /> |publisher=IDG<br /> |work=ITworld<br /> |accessdate=2018-02-02<br /> }}&lt;/ref&gt;ため、公式の処理系の実装およびマニュアルの記述がその代わりとなっていた。<br /> 2018年1月現在では、作業中となっているが、プログラミング言語としての仕様は処理系の実装と分かれて文書化されている&lt;ref name=&quot;PHP Language Specifications&quot;&gt;{{<br /> Cite web<br /> |url=https://github.com/php/php-langspec<br /> |title=PHP Language Specifications<br /> |author=The PHP Group<br /> |publisher=[[GitHub]]<br /> |accessdate=2018-02-02<br /> }}&lt;/ref&gt;。<br /> <br /> この実装は[[C言語|C]]で書かれており、[[PHP License]]および[[PHP License#Zend_Engine_License|Zend Engine License]]の下で公開されている[[自由なソフトウェア]]である。<br /> PHP4以降において、プログラミング言語としてのPHPを解釈・実行するエンジンとして[[Zend Engine]]が使用されており、PHP5よりZend Engine 2、PHP7ではZend Engine 3へと順次バージョンアップされている。<br /> Zend EngineはPHP 3の主要な開発者である[[アンディ・ガトマンズ]]および[[ゼーブ・スラスキー]](後に[[ゼンド・テクノロジーズ|Zend Technologies Ltd.]]を設立)により設計・開発されたスクリプト言語エンジンであり、現在はThe PHP GroupによりPHPと共に開発されている。<br /> Zend Engineは1つのプロセスが1つのインタプリタのコンテキストを持つように設計されていて、単独では[[マルチスレッド]]を用いた処理をサポートしていない。<br /> PHPはそのソースコードのほとんどがPHP Licenseの下でリリースされるが、Zend EngineのコードについてはZend Engine Licenseが適用される。<br /> <br /> 実際のPHPの構成はZend Engineに加え、PHPの組み込み関数の実装、Webサーバや[[標準入出力]]とスクリプティングエンジンの間を仲介するSAPI (Server API) レイヤ、マルチスレッドで動くWebサーバのモジュールとして利用される場合にグローバル変数の[[セマンティクス]]を提供するTSRM (Thread Safe Resource Manager)、プラットフォーム間での入出力機構やAPIの差異を吸収するStreamsレイヤを含む。<br /> 一部の組み込み関数はプラットフォームごとに挙動が違うため、スクリプトによっては移植作業が必要になる場合がある。<br /> <br /> === PECLによる拡張 ===<br /> 公式の処理系に対して、[[C言語|C]]や[[C++]]で記述された拡張ライブラリを提供する &#039;&#039;&#039;[[PECL]]&#039;&#039;&#039; (The PHP Extension Community Library) というプロジェクトが存在する。<br /> 基本的にPECLのライブラリは標準ではPHPに組み込まれてはいないものが多いが、PECLで開発されていたライブラリがPHPの本体に標準でバンドルされるようになったり([[PHP Data Object|PDO]])、逆に非推奨となった機能が本体より取り除かれ、PECLでメンテナンスが継続される([http://pecl.php.net/package/mcrypt mcrypt])こともあり、拡張機能としてはPHPの準標準と言える立ち位置にある。<br /> <br /> === 対応する主要DBMS ===<br /> PHPは数多くの[[DBMS]]を標準でサポートしている。<br /> 提供されるAPIは、&#039;&#039;&#039;ベンダ固有モジュール&#039;&#039;&#039;というDBMS毎に提供される専用モジュールによるものと、ベンダ毎の差異を吸収して一貫したインターフェイスで様々なDBMSに接続出来る&#039;&#039;&#039;データベース抽象化レイヤ&#039;&#039;&#039;とがある。<br /> 特にデータベースをより高度に抽象化して扱うライブラリなどでは、様々なDBMSに対応するためにPHP5.1で標準になったデータベース抽象化レイヤ [[PHP Data Object|PDO]] をバックエンドとして選択するものが多い。<br /> <br /> &lt;div style=&quot;columns: 24em 4; column-rule: 2px solid #eee;&quot;&gt;<br /> * [[Apache Derby]]<br /> * [[DB2]]<br /> * [[Informix Dynamic Server]]<br /> * [[InterBase]]<br /> * [[Microsoft SQL Server]]<br /> * [[mSQL]]<br /> * [[MySQL]]<br /> * [[Open Database Connectivity|ODBC]]<br /> * [[Oracle Database]]<br /> * [[PostgreSQL]]<br /> * [[Adaptive Server Enterprise|Sybase Adaptive Server Enterprise]]<br /> * [[SQLite]]<br /> * [[Redis]]<br /> &lt;/div&gt;<br /> <br /> === Webサーバとの統合 ===<br /> PHPをWebサーバで動作させる方法には、実行ファイル形式 (CGI / [[FastCGI]])、モジュール形式(mod_php / [[ISAPI]] など)がある。<br /> どの方法を利用するか(利用出来るか)はWebサーバにより異なる。<br /> 実行ファイル形式によるCGIはほぼ全てのWebサーバに対応しているが、[[Apache HTTP Server|Apache]]で動作させる場合はmod_phpとFastCGI、[[Internet Information Services|IIS]]で動作させる場合はFastCGIとISAPI、[[lighttpd]]や[[Nginx]]で動作させる場合は[[FastCGI]]が利用可能である。<br /> <br /> このほかにも、PHPに標準で実装されているWebサーバ用[[API]]は多い。以下に一覧を挙げる。<br /> <br /> &lt;div style=&quot;columns: 24em 4; column-rule: 2px solid #eee;&quot;&gt;<br /> * [[Common Gateway Interface|CGI]] / [[FastCGI]]<br /> * AOLserver<br /> * [[Apache HTTP Server]] (バージョン 1.x 用 / 2.x 用)<br /> * [[lighttpd]]<br /> * {{仮リンク|Hiawatha (Webサーバ)|en|Hiawatha (web server)|label=Hiawatha Webserver}}<br /> * Sun Java System Web Server<br /> * Roxen WebServer<br /> * [[TUX web server|Tux]]<br /> * [[ISAPI]] ([[Internet Information Services|Microsoft Internet Information Services]]等)<br /> * [[Caudium]]<br /> * [[Continuity]]<br /> * [[Pi3Web]]<br /> * [[thttpd]]<br /> &lt;/div&gt;<br /> <br /> とくに、HTTPリクエストの度にプロセスを起動させないインタフェース(Apacheとmod_phpの組み合わせ、または[[lighttpd]]などの[[FastCGI]]に対応したWebサーバ)での動作が高速である。<br /> <br /> === その他の処理系 ===<br /> PHPの[[処理系]]は公式の実装を含めいくつかの異なる実装が存在する。<br /> そのうち比較的よく知られているものについて簡単に記述する。<br /> <br /> ; [[HipHop Virtual Machine|HHVM]] (HipHop Virtual Machine) ([[PHP License]], [[Zend Engine License]])<br /> : [[Facebook]]によって開発された処理系で、実行の高速化のために[[実行時コンパイラ|実行時(JIT)コンパイル]]方式を採用している。HHVMは実行時にソースコードをHipHopバイトコードと呼ばれる独自の中間言語にコンパイルし、そこから動的に機械語にコンパイル/最適化を経て実行される。<br /> <br /> ; [[Phalanger]] ([[Apache License]])<br /> : [[プラハ・カレル大学]]のオープンソースプロジェクトとして開発されている処理系で、PHPのソースコードを[[CILバイトコード]]にコンパイルすることにより[[.NET Framework]]上で動作させることを可能にしている。<br /> <br /> == PHPで書かれたソフトウェア ==<br /> PHPは学習コストの低さ、記述の容易さから多くのアプリケーションが開発されている。<br /> [[Wikipedia]]を動作させているアプリケーションである[[MediaWiki]]もPHPによって記述されている。<br /> <br /> 本節ではPHPで書かれた代表的なアプリケーションを列挙する。<br /> <br /> === ウェブアプリケーション、CMSなど ===<br /> &lt;div style=&quot;columns: 24em 4; column-rule: 2px solid #eee;&quot;&gt;<br /> * [http://www.ibm.com/software/jp/websphere/smash/ IBM WebSphere sMash]<br /> * [[MediaWiki]]<br /> * [[phpBB]]<br /> * [[phpMyAdmin]]<br /> * [[PukiWiki]]<br /> * [http://s9y.org/ Serendipity Weblog System]<br /> * [http://silverstripe.org/ SilverStripe CMS]<br /> * [[WordPress]]<br /> * [[XOOPS]]<br /> * [[OpenPNE]]<br /> &lt;/div&gt;<br /> <br /> === ウェブアプリケーション・フレームワーク ===<br /> &lt;div style=&quot;columns: 24em 4; column-rule: 2px solid #eee;&quot;&gt;<br /> * [[CakePHP]]<br /> * [[CodeIgniter]]<br /> * [https://cwf.codeplex.com/ Cosmos]<br /> * [http://ethna.jp/ Ethna]<br /> * [http://ez.no/index.php/products/ez_components eZ components]<br /> * [[FuelPHP]]<br /> * [http://kohanaframework.org/ Kohana]<br /> * [[Laravel]]<br /> * [http://lithify.me/ Lithium]<br /> * [http://kunit.jp/maple/ Maple]<br /> * [http://mojavi.org/ Mojavi]<br /> * [http://lss.infosys.soft.iwate-pu.ac.jp/~yano/omusuvi/ Omusuvi]<br /> * [http://peewee.rasign.jp Peewee]<br /> * [http://phpontrax.com/ PHP on TRAX]<br /> * [[PRADO (フレームワーク)|PRADO]]<br /> * [http://www.risoluto.org/ Risoluto]<br /> * [http://sabel.php-framework.org/ Sabel]<br /> * [http://seagull.phpkitchen.com/ Seagull]<br /> * [http://www.seasar.org/#seasar.php Seasar.PHP]<br /> * [[Symfony]]<br /> * [http://www.phpwact.org/ WACT]<br /> * [http://www.xframeworkpx.com/ xFramework]<br /> * [[Yii]]<br /> * [[Zend Framework]]<br /> * [http://zoopframework.com/ Zoop]<br /> * [https://ja.osdn.net/projects/cheetan/ ちいたん]<br /> * [http://chimpanzee-php.com/ Chimpanzee]<br /> * [http://fekephp.com/ FekePHP]<br /> &lt;/div&gt;<br /> <br /> === テンプレートエンジン ===<br /> &lt;div style=&quot;columns: 24em 4; column-rule: 2px solid #eee;&quot;&gt;<br /> * [[Smarty]]<br /> * [[Twig]]<br /> &lt;/div&gt;<br /> <br /> <br /> == 歴史 ==<br /> === 前史 ===<br /> [[ラスマス・ラードフ]]は自身のWebページで利用するため、1994年に[[C言語|C]]で書かれたCGI用バイナリ群を作成し、 &quot;&#039;&#039;&#039;Personal Home Page Tools&#039;&#039;&#039;&quot; と命名した。<br /> このCGIソフトウェアは略して &quot;&#039;&#039;&#039;PHP Tools&#039;&#039;&#039;&quot; と呼ばれることが多かったようである。<br /> その後、利用者からの機能要望が増えたため、オリジナルのPHP Toolsは大きく書き直され、データベースを利用することが出来るようになった。<br /> 単純なツール群から一種のフレームワークとしての機能を有するようになったのである。<br /> ラードフは[[1995年]]6月8日に[[GNU General Public License|GPL]]の下でPHP Toolsを公開、オープンソースソフトウェアとして最初のリリースを行った。<br /> <br /> 1995年9月、ラードフはPHP Toolsを発展させ、現在のPHPにも受け継がれている特徴、[[Perl]]風の変数名やHTMLフォームデータの自動取得、そしてHTMLへの埋め込み型の記述方式などを持ったツール &quot;&#039;&#039;&#039;FI&#039;&#039;&#039;&quot; (Form Interpreter) を実装した。<br /> 翌月にはFIを完全に書き直し、 &quot;&#039;&#039;&#039;Personal Home Page Construction Kit&#039;&#039;&#039;&quot; という名前でリリースを行い、CやPerlに近い構文を有する簡易スクリプトツールへと発展した。<br /> <br /> このツールは再び一から書き直され、ユーザ定義関数のサポートなど、プログラミング言語としての機能を有するようになった。<br /> 1996年4月になるとPHPとFIの名称を合わせた &quot;&#039;&#039;&#039;PHP/FI&#039;&#039;&#039;&quot; として公開された。<br /> 同年6月に、後にPHP 2として言及される &quot;&#039;&#039;&#039;PHP/FI Version 2.0&#039;&#039;&#039;&quot; の[[ベータ版]]がリリースされた。<br /> PHP/FI Version 2.0は翌1997年11月に正式版がリリースされ、その後1998年1月に一度アップデートが行われたあとはメンテナンスは行われなかった。<br /> <br /> === PHP 3 ===<br /> イスラエルの[[アンディ・ガトマンズ]]と[[ゼーブ・スラスキー]]は、[[電子商取引|e-コマース]]アプリケーションを開発するためにPHP/FI Version 2.0を利用しようと考えていたが、PHP/FIには機能が不足していた。<br /> そこで1997年、彼らはラードフに対してPHP/FIを作り直す方法を検討していることを伝えた。<br /> ガトマンズとスラスキ―はPHP/FIで使われていたパーサを書き直し、ラードフとも協力して新たなプログラミング言語を開発した。<br /> この言語は再び &quot;&#039;&#039;&#039;PHP&#039;&#039;&#039;&quot; と命名されたが、&quot;Personal Home Page Tools&quot;が抱えていた個人用という印象を避けるため、新しく &quot;&#039;&#039;&#039;PHP: Hypertext Preprocessor&#039;&#039;&#039;&quot; という[[再帰的頭字語]]を与えられることになった。<br /> 1998年6月、ラードフ、ガトマンズそしてスラスキーに加え、世界中の開発者らが立ち上げたPHP Development Teamは &quot;&#039;&#039;&#039;PHP 3.0&#039;&#039;&#039;&quot; をPHP/FI Version 2.0の後継として、[[GPL]]と[[PHP License]]とのデュアルライセンスの下でリリースした。<br /> <br /> === PHP 4 ===<br /> PHP 3.0がリリースされて間もなく、ガトマンズとスラスキーはPHPのプログラミング言語を処理するコアの部分の再設計を行い、新しく作り上げた実行エンジンを彼らの名前からとって &quot;&#039;&#039;&#039;Zend Engine&#039;&#039;&#039;&quot; と命名した。<br /> 2000年5月、このZend Engineを使用した大幅なパフォーマンスの改善を行い、より多くのWebサーバのサポートなどの機能拡張を行った新しいバージョンである&quot;&#039;&#039;&#039;PHP 4.0&#039;&#039;&#039;&quot;がリリースされた。<br /> PHP 4では[[コピーレフト]]条項がPHPの利用拡散を妨げるという判断&lt;ref&gt;{{<br /> Cite web<br /> |url=http://www.php.net/license/<br /> |title=PHP Licensing<br /> |publisher=php.net<br /> |accessdate=2018-02-02<br /> }}&lt;/ref&gt;により、ライセンスから[[GPL]]が外れて[[PHP License]]およびZend Engineのコードについては[[Zend Engine License]]が適用されることになった。<br /> <br /> PHP 4は4.0から4.4までがリリースされ、2008年8月にセキュリティ対応を含めた全ての開発が終了している。<br /> <br /> === PHP 5 ===<br /> [[2004年]]7月、新たにZend Engine 2をコアとし、[[オブジェクト指向]]構文をより一層強化したバージョンである &quot;&#039;&#039;&#039;PHP 5.0&#039;&#039;&#039;&quot; がリリースされた。<br /> マイナーアップデートにより様々な機能の追加が行われ、DBMSへの一貫したアクセスインターフェイスを提供する抽象化レイヤ[[PHP Data Object|PDO]]が導入されたり、PHPが欠いていた[[名前空間]]、[[束縛 (情報工学)|静的遅延束縛]]、[[クロージャ]]などをはじめとしたプログラミング言語としての機能強化が頻繁に取り入れられている。<br /> <br /> PHP 5.4では特筆すべき機能として開発用の組み込みWebサーバが導入されており、他のWebサーバを導入しなくともWebアプリケーション開発が容易に行えるようになった。<br /> PHP 5.6では対話式デバッガがSAPIとして組み入れられた。<br /> <br /> PHP 5は既にほとんどのバージョンで開発が終了しており、残るPHP 5.6のセキュリティ対応も2018年に終了する予定である。<br /> <br /> === PHP 6 ===<br /> PHP 5.3の次のリリースとなるべく開発されていたバージョンで、エンジンの内部処理がUTF-16に置き換えられる計画であったが、多くの問題に見舞われたことから2010年に開発が断念されている。<br /> PHP 5.3の次のリリースはPHP 5.4へと置き換えられ&lt;ref&gt;{{<br /> Cite web<br /> |url=http://news.mynavi.jp/news/2010/03/17/053/<br /> |title=PHP6開発 UTF-16化を断念、5.3へロールバック<br /> |publisher=[[マイナビニュース]]<br /> |date=2010-03-17<br /> |accessdate=2015-05-03<br /> }}&lt;/ref&gt;、また次のPHPのメジャーリリースがPHP 7とされたことでPHP 6は欠番となった。<br /> <br /> === PHP 7 ===<br /> 2015年12月に内部エンジンをZend Engine 3とした&quot;&#039;&#039;&#039;PHP 7.0&#039;&#039;&#039;&quot;がリリースされた&lt;ref&gt;{{<br /> cite web <br /> | url=http://php.net/archive/2015.php#id2015-12-03-1 <br /> | title=PHP 7.0.0 Released <br /> | publisher=php.net <br /> | accessdate=2015-12-04<br /> }}&lt;/ref&gt;。<br /> Zend Engineの改善を行うPHPNG (PHP Next-Gen) プロジェクトの成果を取り入れており、データ構造の改善などにより、前バージョンのPHP 5.6と比べて25%から70%の性能改善が図られている。<br /> また言語仕様も大きく拡張されており、引数のタイプヒンティングにスカラー型が指定できるようになる&lt;ref name=&quot;scalar-types&quot;&gt;{{<br /> cite web<br /> |url=https://wiki.php.net/rfc/scalar_type_hints_v5<br /> |title=RFC: Scalar Type Declarations <br /> |date=2015-03-16 <br /> |accessdate=2015-03-17 <br /> |publisher=php.net<br /> }}&lt;/ref&gt;(タイプヒンティングは5.1で導入されたが、クラスや配列など一部の型に限られていた)他、戻り値へのタイプヒンティング&lt;ref name=&quot;return-types&quot;&gt;{{<br /> cite web <br /> |url=https://wiki.php.net/rfc/return_types <br /> |title=RFC: Return Types <br /> |date=2015-01-27 <br /> |accessdate=2015-01-28 <br /> |publisher=php.net<br /> }}&lt;/ref&gt;も導入されており、前年に発表された[[HipHop Virtual Machine|HHVM]]用プログラミング言語[[Hack (プログラミング言語)|Hack]]の影響が見受けられるものになっている。&lt;ref&gt;{{<br /> Cite web<br /> |url=https://pages.zend.com/ty-infographic.html<br /> |title=PHP 7 Infographic - 5 things you need to know #php #zend<br /> |publisher=Zend Technologies Inc.<br /> |accessdate=2015-05-03<br /> }}&lt;/ref&gt;<br /> <br /> === リリース履歴 ===<br /> {| class=&quot;wikitable&quot;<br /> |+ 凡例<br /> ! 色<br /> ! 意味<br /> ! メンテナンスの状況<br /> |-<br /> | style=&quot;background:salmon;&quot;| Red<br /> | 旧版<br /> | メンテナンス終了<br /> |-<br /> | style=&quot;background:#FCED77;&quot;| Yellow<br /> | 安定版<br /> | セキュリティ対応のみ<br /> |-<br /> | style=&quot;background:#a0e75a;&quot;| Green<br /> | 安定版<br /> | バグ修正とセキュリティ対応<br /> |-<br /> | style=&quot;background:skyBlue;&quot;| Blue<br /> | 開発版<br /> | 新機能の追加<br /> |}<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! rowspan=&quot;2&quot; | Ver.<br /> ! rowspan=&quot;2&quot; style=&quot;min-width: 10em;&quot; | リリース日時<br /> ! colspan=&quot;2&quot; style=&quot;min-width: 10em;&quot; | サポート期限&lt;ref name=&quot;supportedversions&quot;&gt;{{cite web|url=http://php.net/supported-versions.php |title=Supported Versions |publisher=php.net |accessdate=2017-12-13}}&lt;/ref&gt;&lt;ref name=&quot;eol&quot;&gt;{{cite web|url=//php.net/eol.php |title=Unsupported Branches |publisher=php.net |accessdate=2015-11-14}}&lt;/ref&gt;<br /> ! rowspan=&quot;2&quot; | 特記事項<br /> |-<br /> ! style=&quot;min-width: 10em;&quot; | アクティブ<br /> ! style=&quot;min-width: 10em;&quot; | セキュリティ<br /> |-<br /> | style=&quot;background:salmon;&quot;| 1.0<br /> | {{ISO dateJA|1995-06-08}}<br /> |<br /> |<br /> | 正式名称は&quot;Personal Home Page Tools (PHP Tools)&quot;. &quot;PHP&quot;という名称が使用された最初のバージョン。&lt;ref name=&quot;History of PHP&quot; /&gt;<br /> |-<br /> | style=&quot;background:salmon;&quot;| 2.0<br /> | {{ISO dateJA|1997-11-01}}<br /> |<br /> |<br /> | 正式名称は&quot;PHP/FI 2.0&quot;. 今日まで続くプログラミング言語としてのPHPが成立した最初のバージョン。<br /> |-<br /> | style=&quot;background:salmon;&quot;| 3.0<br /> | {{ISO dateJA|1998-06-06}}<br /> |<br /> | {{ISO dateJA|2000-10-20}}&lt;ref name=&quot;eol&quot; /&gt;<br /> | このバージョンからコミュニティーベースの開発に移行した。特にアンディ・ガトマンズやゼーブ・スラスキーが基礎となる部分を大幅に書き直した。&lt;ref name=&quot;History of PHP&quot; /&gt;<br /> |-<br /> | style=&quot;background:salmon;&quot;| 4.0<br /> | {{ISO dateJA|2000-05-22}}<br /> |<br /> | {{ISO dateJA|2001-06-23}}&lt;ref name=&quot;eol&quot; /&gt;<br /> | Zend Engineを導入し、コードのパース部分と実行部分とが分離された。&lt;ref name=&quot;php4changelog&quot;&gt;{{cite web|title=PHP: PHP 4 ChangeLog|url=http://www.php.net/ChangeLog-4.php|publisher=The PHP Group|accessdate=2008-02-22|date=2008-01-03}}&lt;/ref&gt;<br /> |-<br /> | style=&quot;background:salmon;&quot;| 4.1<br /> | {{ISO dateJA|2001-12-10}}<br /> |<br /> | {{ISO dateJA|2002-03-12}}&lt;ref name=&quot;eol&quot; /&gt;<br /> | スーパーグローバル変数の導入 ({{code|lang=php|$_GET}}, {{code|lang=php|code=$_POST}}, {{code|lang=php|code=$_SESSION}}, etc.)&lt;ref name=&quot;php4changelog&quot; /&gt;<br /> |-<br /> | style=&quot;background:salmon;&quot;| 4.2<br /> | {{ISO dateJA|2002-04-22}}<br /> |<br /> | {{ISO dateJA|2002-09-06}}&lt;ref name=&quot;eol&quot; /&gt;<br /> | &lt;code&gt;register_globals&lt;/code&gt;が標準で無効化された。これによりセキュリティホールの原因となりがちだった外部入力をチェック無しで直接グローバル変数に格納する処理が行われなくなった。&lt;ref name=&quot;php4changelog&quot; /&gt;<br /> |-<br /> | style=&quot;background:salmon;&quot;| 4.3<br /> | {{ISO dateJA|2002-12-27}}<br /> |<br /> | {{ISO dateJA|2005-03-31}}&lt;ref name=&quot;eol&quot; /&gt;<br /> | これまで提供されていたCGI用SAPIに加えて[[CLI|コマンドラインインターフェイス]](CLI-SAPI)が導入された。&lt;ref name=&quot;php4changelog&quot; /&gt;&lt;ref name=&quot;phpclidocs&quot;&gt;{{cite web|title= Using PHP from the command line | work = PHP Manual|url=http://php.net/manual/en/features.commandline.php|publisher=The PHP Group|accessdate=2009-09-11}}&lt;/ref&gt;<br /> |-<br /> | style=&quot;background:salmon;&quot;| 4.4<br /> | {{ISO dateJA|2005-07-11}}<br /> |<br /> | {{ISO dateJA|2008-08-07}}&lt;ref name=&quot;eol&quot; /&gt;<br /> | メモリ破損の脆弱性を修正した。これによりバイナリ互換性が崩れ、PHP version 4.3.x向けにビルドされた拡張が使用出来なくなった。&lt;ref name=&quot;php44announcement&quot;&gt;{{cite web|title=PHP 4.4.0 Release Announcement|work=PHP Mannual|url=http://php.net/releases/4_4_0.php|publisher=The PHP Group|accessdate=2013-11-24}}&lt;/ref&gt;<br /> |-<br /> | style=&quot;background:salmon;&quot;| 5.0<br /> | {{ISO dateJA|2004-07-13}}<br /> |<br /> | {{ISO dateJA|2005-09-05}}&lt;ref name=&quot;eol&quot; /&gt;<br /> | Zend Engine 2の導入とオブジェクト指向構文の刷新。&lt;ref name=&quot;php5changelog&quot;&gt;{{cite web|title=PHP: PHP 5 ChangeLog|url=http://www.php.net/ChangeLog-5.php|publisher=The PHP Group|accessdate=2008-02-22|date=2007-11-08}}&lt;/ref&gt;<br /> |-<br /> | style=&quot;background:salmon;&quot;| 5.1<br /> | {{ISO dateJA|2005-11-24}}<br /> |<br /> | {{ISO dateJA|2006-08-24}}&lt;ref name=&quot;eol&quot; /&gt;<br /> | 大幅なパフォーマンス改善。&lt;ref name=&quot;php5changelog&quot; /&gt; 一貫したデータベースアクセスインターフェイスを提供するPHP Data Objects (PDO)の導入。&lt;ref name=&quot;phpPdoDocs&quot;&gt;{{cite web|title=PHP manual: PDO|url=http://php.net/manual/en/intro.pdo.php|publisher=The PHP Group|accessdate=2011-11-15|date=2011-11-15}}&lt;/ref&gt;<br /> |-<br /> | style=&quot;background:salmon;&quot;| 5.2<br /> | {{ISO dateJA|2006-11-02}}<br /> |<br /> | {{ISO dateJA|2011-01-06}}&lt;ref name=&quot;eol&quot; /&gt;<br /> | フィルター拡張を標準で有効に。[[JSON]]サポートを標準化。&lt;ref name=&quot;php5changelog&quot; /&gt;<br /> |-<br /> | style=&quot;background:salmon;&quot;| 5.3<br /> | {{ISO dateJA|2009-06-30}}<br /> |<br /> | {{ISO dateJA|2014-08-14}}&lt;ref name=&quot;eol&quot; /&gt;<br /> | [[名前空間]]のサポート、 [[束縛 (情報工学)|静的遅延束縛]]、[[goto]]演算子、[[クロージャ]]、PHPアーカイブ (phar)、[[循環参照]]に対する[[ガベージコレクション]]、[[Microsoft Windows|Windows]]サポートの改善、[[SQLite|SQLite3]]、[[MySQL]]関数のバックエンドライブラリをlibmysqlからmysqlndに置き換え、[[MIME]]サポートの改善のためmime_magic拡張の代替としてfileinfo拡張を追加、[[国際化と地域化|i18n]]拡張、ereg拡張の非推奨化。<br /> |-<br /> | style=&quot;background:salmon;&quot;| 5.4<br /> | {{ISO dateJA|2012-03-01}}<br /> |<br /> | {{ISO dateJA|2015-09-03}}&lt;ref name=&quot;eol&quot; /&gt;<br /> | [[トレイト]]のサポート、配列の短縮記法の導入。&lt;code&gt;register_globals&lt;/code&gt;, &lt;code&gt;safe_mode&lt;/code&gt;, &lt;code&gt;allow_call_time_pass_reference&lt;/code&gt;, {{code|lang=php|code=session_register()}}, {{code|lang=php|code=session_unregister()}}および {{code|lang=php|code=session_is_registered()}}の削除。ビルトインWebサーバ。&lt;ref&gt;{{cite web|url=http://php.net/manual/en/features.commandline.webserver.php |title=Built-in web server |accessdate=March 26, 2012}}&lt;/ref&gt; 既存の機能に対するいくつかの改善、パフォーマンスの向上とメモリの削減。<br /> |-<br /> | style=&quot;background:salmon;&quot;| 5.5<br /> | {{ISO dateJA|2013-06-20}}<br /> |<br /> | {{ISO dateJA|2016-07-10}}&lt;ref name=&quot;supportedversions&quot;&gt;{{cite web|url=http://php.net/supported-versions.php |title=Supported Versions |publisher=php.net |accessdate=2017-12-13}}&lt;/ref&gt;<br /> | [[ジェネレータ (プログラミング)|ジェネレータ]]および[[例外処理]]に於けるfinallyブロックの導入、OpCache (Zend Optimizer+に基く)のバンドル。&lt;ref name=&quot;55changes&quot;&gt;{{cite web|title=PHP 5.5.0 changes|url=http://php.net/manual/en/migration55.new-features.php|accessdate=2015-03-03|publisher=php.net}}&lt;/ref&gt;<br /> |-<br /> | style=&quot;background:#FCED77;&quot;| 5.6<br /> | {{ISO dateJA|2014-08-28}}<br /> | {{ISO dateJA|2017-01-19}}&lt;ref name=&quot;supportedversions&quot;&gt;{{cite web|url=http://php.net/supported-versions.php |title=Supported Versions |publisher=php.net |accessdate=2017-12-13}}&lt;/ref&gt;<br /> | {{ISO dateJA|2018-12-31}}&lt;ref name=&quot;supportedversions&quot; /&gt;<br /> | 定数式、[[可変長引数|可変長引数関数]]、引数の展開演算子(&lt;code&gt;...&lt;/code&gt;)、累乗演算子(&lt;code&gt;**&lt;/code&gt;)、定数と関数に対する{{Mono|use}}文、対話型デバッガphpdbgをSAPIモジュールとしてバンドル、その他細かな改善。&lt;ref name=&quot;56changes&quot;&gt;{{cite web |title=Migrating from PHP 5.5.x to PHP 5.6.x |url=http://www.php.net/manual/en/migration56.new-features.php |accessdate=2014-03-24 |publisher=php.net}}&lt;/ref&gt;<br /> |-<br /> | style=&quot;background:&quot;| 6.x<br /> | {{n/a|破棄}}<br /> | {{n/a}}<br /> | {{n/a}}<br /> | ネイティブ[[Unicode]]サポートを含むことを検討されていたが、最終的にリリースされず欠番となった。&lt;ref&gt;{{cite web|url=https://lwn.net/Articles/379909/|title=Resetting PHP 6|quote=There have been books on the shelves purporting to cover PHP 6 since at least 2008. But, in March 2010, the PHP 6 release is not out - in fact, it is not even close to out. Recent events suggest that PHP 6 will not be released before 2011 - if, indeed, it is released at all.|accessdate=2018-01-31}}&lt;/ref&gt;&lt;ref&gt;{{cite web|url=http://www.infoworld.com/article/2841561/php/php-7-moves-full-speed-ahead.html|title=PHP 7 moves full speed ahead|quote=Recent versions of PHP have been part of the 5.x release series, but there will be no PHP 6. “We’re going to skip [version] 6 because years ago, we had plans for a 6 but those plans were very different from what we’re doing now,” Gutmans said. Going right to version 7 avoids confusion.|accessdate=2018-01-31}}&lt;/ref&gt;<br /> |-<br /> | style=&quot;background:#FCED77;&quot;| 7.0<br /> | {{ISO dateJA|2015-12-03}}&lt;ref name=php7final&gt;{{cite web |url=http://php.net/archive/2018.php#id2018-04-26-1 |title=News Archive{{snd}} 2018: PHP 7.2.5 Released |date=2018-04-26 |accessdate=2018-04-28 |publisher=php.net}}&lt;/ref&gt;<br /> | {{ISO dateJA|2017-12-03}}&lt;ref name=&quot;supportedversions&quot;&gt;{{cite web|url=http://php.net/supported-versions.php |title=Supported Versions |publisher=php.net |accessdate=2017-12-13}}&lt;/ref&gt;<br /> | {{ISO dateJA|2018-12-03}}&lt;ref name=&quot;releaseprocess&quot;&gt;{{cite web|title=PHP: Release Process|url=https://wiki.php.net/rfc/releaseprocess|accessdate=2018-01-31|date=2011-06-20}}&lt;/ref&gt;<br /> | Zend Engine 3 (パフォーマンスの改善&lt;ref name=&quot;phpng&quot;&gt;{{cite web|url=https://wiki.php.net/phpng |title=PHP: phpng |publisher=php.net |accessdate=2014-07-15}}&lt;/ref&gt;とWindowsでの64-bit整数サポート&lt;ref&gt;{{cite web|url=https://wiki.php.net/rfc/size_t_and_int64_next|title=PHP: rfc:size_t_and_int64_next|publisher=php.net|accessdate=16 December 2014}}&lt;/ref&gt;)、可変変数に対する構文の統一&lt;ref name=&quot;uvs&quot;&gt;{{cite web |url=https://wiki.php.net/rfc/uniform_variable_syntax |title=PHP RFC: Uniform Variable Syntax |date=2014-05-31 |accessdate=2014-07-30 |publisher=php.net}}&lt;/ref&gt;<br /> 、 [[抽象構文木|AST]]に基くコンパイル&lt;ref&gt;{{cite web|url=https://wiki.php.net/rfc/abstract_syntax_tree|title=PHP: rfc:abstract_syntax_tree|publisher=php.net|accessdate=16 December 2014}}&lt;/ref&gt;、{{code|lang=php|code=Closure::call()}}の追加&lt;ref&gt;{{cite web|url=https://wiki.php.net/rfc/closure_apply|title=PHP: rfc:closure_apply|publisher=php.net|accessdate=16 December 2014}}&lt;/ref&gt;、 [[ビット演算|ビットシフト演算]]のプラットフォーム依存性の排除&lt;ref&gt;{{cite web|url=https://wiki.php.net/rfc/integer_semantics|title=PHP: rfc:integer_semantics|publisher=php.net|accessdate=16 December 2014}}&lt;/ref&gt;、 [[null合体演算子]]{{code|lang=php|code=??}}&lt;ref&gt;{{cite web|url=https://wiki.php.net/rfc/isset_ternary|title=PHP: rfc:isset_ternary|publisher=php.net|accessdate=16 December 2014}}&lt;/ref&gt;、 [[エスケープシーケンス]]構文による[[Unicode]]コードポイント指定&lt;ref&gt;{{cite web|url=https://wiki.php.net/rfc/unicode_escape|title=RFC: Unicode Codepoint Escape Syntax|date=2014-11-24|accessdate=2014-12-19}}&lt;/ref&gt;、関数の戻り値の宣言構文&lt;ref name=&quot;return-types&quot; /&gt;、スカラー型のタイプヒンティング&lt;ref name=&quot;scalar-types&quot; /&gt;、 [[:en:three-way comparison|宇宙船演算子]]&lt;code&gt;&amp;lt;=&amp;gt;&lt;/code&gt;&lt;ref&gt;{{cite web|url=https://wiki.php.net/rfc/combined-comparison-operator|title=Combined Comparison (Spaceship) Operator|publisher=php.net|accessdate=2015-05-21}}&lt;/ref&gt;、 [[ジェネレータ (プログラミング)|ジェネレータ]]の委譲&lt;ref&gt;{{cite web|url=https://wiki.php.net/rfc/generator-delegation|title=PHP RFC: Generator Delegation|accessdate=2015-05-21|publisher=php.net}}&lt;/ref&gt;、無名クラス&lt;ref&gt;{{cite web|url=https://wiki.php.net/rfc/anonymous_classes|title=PHP RFC: Anonymous Classes|accessdate=2015-05-21|publisher=php.net}}&lt;/ref&gt;、より良い[[暗号論的擬似乱数生成器]]&lt;ref&gt;{{cite web|url=https://wiki.php.net/rfc/easy_userland_csprng|title=PHP RFC: Easy User-land CSPRNG|accessdate=2015-05-21|publisher=php.net}}&lt;/ref&gt;、PHPの内部エラーを[[例外処理|例外]]で置き換え&lt;ref name=&quot;engine_exceptions&quot;&gt;{{cite web|url=https://wiki.php.net/rfc/engine_exceptions_for_php7|title=PHP RFC: Exceptions in the engine (for PHP 7)|accessdate=2015-05-21|publisher=php.net}}&lt;/ref&gt;、複数の対象をuseする場合の短縮構文&lt;ref&gt;{{cite web|url=https://wiki.php.net/rfc/group_use_declarations|title=PHP RFC: Group Use Declarations|accessdate=2015-05-21|publisher=php.net}}&lt;/ref&gt;<br /> |-<br /> | style=&quot;background:#a0e75a;&quot;| 7.1<br /> | {{ISO dateJA|2016-12-01}}<br /> | {{ISO dateJA|2018-12-01}}&lt;ref name=&quot;supportedversions&quot;&gt;{{cite web|url=http://php.net/supported-versions.php |title=Supported Versions |publisher=php.net |accessdate=2017-12-13}}&lt;/ref&gt;<br /> | {{ISO dateJA|2019-12-01}}&lt;ref name=&quot;supportedversions&quot;&gt;{{cite web|url=http://php.net/supported-versions.php |title=Supported Versions |publisher=php.net |accessdate=2017-12-13}}&lt;/ref&gt;<br /> | 関数が値を返さないことを宣言可能に([[void (コンピュータ)|void return type]])&lt;ref&gt;{{cite web|url=http://wiki.php.net/rfc/void_return_type|title=PHP: rfc:void_return_type|publisher=php.net|date=2015-11-09|accessdate=2015-11-14}}&lt;/ref&gt;、クラス定数の [[カプセル化|可視性]]が宣言可能に&lt;ref&gt;{{cite web|url=https://wiki.php.net/rfc/class_const_visibility|title=PHP: rfc:class_constant_visibility|publisher=php.net|date=2015-10-27|accessdate=2015-12-08}}&lt;/ref&gt;<br /> |-<br /> | style=&quot;background:#a0e75a;&quot;| 7.2<br /> | {{ISO dateJA|2017-11-30}}<br /> | {{ISO dateJA|2019-11-30}}&lt;ref name=&quot;supportedversions&quot;&gt;{{cite web|url=http://php.net/supported-versions.php |title=Supported Versions |publisher=php.net |accessdate=2017-12-13}}&lt;/ref&gt;<br /> | {{ISO dateJA|2020-11-30}}&lt;ref name=&quot;supportedversions&quot;&gt;{{cite web|url=http://php.net/supported-versions.php |title=Supported Versions |publisher=php.net |accessdate=2017-12-13}}&lt;/ref&gt;<br /> | countableでない型のオブジェクトに対する{{code|lang=php|code=count()}}で警告を発生するように&lt;ref&gt;http://php.net/archive/2017.php#id2017-11-30-1&lt;/ref&gt;<br /> |}<br /> <br /> == 脚注 ==<br /> {{Reflist|2}}<br /> <br /> == 関連項目 ==<br /> {{Portal|FLOSS}}<br /> {{Wikibooks|PHP}}<br /> * [[Perl]]<br /> * [[Java]]<br /> * [[スクリプト言語]]<br /> * [[オブジェクト指向プログラミング]]<br /> * {{仮リンク|PHPの構文とセマンティック|en|PHP syntax and semantics}}<br /> <br /> == 外部リンク ==<br /> * [http://www.php.net/ PHP公式サイト] {{Ref-en}}<br /> ** [http://jp2.php.net/manual/ja/ 日本語マニュアル]&lt;!-- 負荷分散用のミラーサイト --&gt;<br /> * [http://www.php.gr.jp/ 日本PHPユーザー会]<br /> <br /> {{PHP}}<br /> {{プログラミング言語一覧}}<br /> {{Web interfaces}}<br /> <br /> {{デフォルトソート:PHP}}<br /> [[Category:スクリプト言語]]<br /> [[Category:オープンソースソフトウェア]]<br /> [[Category:Webサーバ]]<br /> [[Category:PHP]]<br /> [[Category:テンプレートエンジン]]</div> 1.115.195.149
Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/WebResponse.php on line 46