PHPとは?

辞典・百科事典の検索サービス - Weblio辞書

初めての方へ

参加元一覧


用語解説|ニュース|動画|本・雑誌|文献|商品|全文検索|用例
Weblio 辞書 > ビジネス > 外国為替用語 > PHPの意味・解説 

Weblioカテゴリー検索

辞典・百科事典の検索サービス - Weblio辞書辞典・百科事典の検索サービス - Weblio辞書

Weblioカテゴリー/辞書と一致するものが見つかりました。


外国為替用語集

マネーパートナーズマネーパートナーズ

OSS用語集

OSS iPediaOSS iPedia

PHP

読み方ピーエッチピー

PHP Development Teamによって開発されているスクリプト言語
独自の「PHPライセンス」によって配布されるオープンソースソフトウェアLAMPの1つに挙げられるように、オープンソース製品Webアプリケーション構築する際の定番XOOPSオープンソースECサイト構築システムosCommerceなど、PHPで書かれたアプリケーション数多い
Perl同様に、もともとは手続き型言語だったが、バージョンアップの際にオブジェクト指向言語機能追加てきている。HTML内にスクリプト埋め込む形でプログラム記述することができるので、Webアプリケーション動的HTML生成する処理を簡単に記述することができる。主要データベースアクセスのためのモジュール標準状態同梱されているなど、Webアプリケーション素早く書き始められるよう工夫されている。
関連見出し
LAMP
XOOPS
Perl
関連URL
PHP: Hypertext Preprocessor(http://www.php.net/)


PHP用語集

PHPプロ!PHPプロ!

IT用語辞典バイナリ

IT用語辞典バイナリIT用語辞典バイナリ

PHP

フルスペル:PHP Hypertext Preprocessor
読み方ピーエイチピー
別名:Personal Home Page

PHPとは、スクリプト言語一種で、サーバーサイドで動作し、HTML文書内に統合される形で記述されることを特徴とするプログラミング言語のことである。動的Webページ生成するために用いられる。

PHPのプログラムは、HTML内にPHP用の要素を示す特別のタグ設けて、その中に記述される。通常PHPプログラムを含むファイルは、拡張子に「.php」が付けられる。ファイル実行時にはクライアント出力される前にWebサーバー上で処理される。PHPのインタプリタは、Apacheモジュール(mod_php5など)として組み込まれ、Apache一体になって実行されるため、CGI実行によるサーバーサイドプログラムよりも高速である。PHPは、JavaC言語C++類似の構文を持っている。変数定義、関数定義、クラス定義、継承例外処理などが実行可能である。

PHPは、HTML中にスクリプト埋め込む形で用いることができ、それ自体が「テンプレート」でもあるため、簡単に使うことができる。フォームデータなどのHTTP要求を簡単に解析できる仕組みMySQLPostgreSQLとの接続PDF生成など、利用頻度の高そうな機能標準レベル多数組み込まれている。小規模会員データ商品データ格納するデータベースとそのデータ検索したり表示したりするWebデータベースシステムのような小規模動的サイトであれば、PHPを用いて迅速に構築することができる。また、オブジェクト指向機能や、アプリケーションフレームワーク活用することにより、ある程度大規模開発にも対応できる。このような特徴により、PHPは多くWebアプリケーション開発者から支持を得、多くWebサイト採用されている。

PHPは、1995年Rasmus Lerdorfが。自分ホームページ生成するために「PHP/FI」(Personal Home Page/Forms Interpreter)と呼ばれるPerlモジュール作成したことから始まったとされるその後エンジン部分C言語書き直され、大幅性能が向上した。1998年にPHP 3.0が発表され、機能大幅強化され、急速に普及した。2000年には、PHP 4.0が発表され、基本的オブジェクト指向プログラミング機能追加された。2004年には、オブジェクト指向機能本格的整備され、PHP 5.0が発表された。PHPのオブジェクト機能は、単一継承カプセル化利用でき、Java同様のtry catch構文による例外処理も可能となっている。なお、PHP 4.0からは、Zend社が作成したZendエンジンコア採用され、インタープリタ性能大幅改善されている。

PHPの正式名は、当初Personal Home Page Tools」であったが、その後PHP Hypertext Preprocessor」という再帰的頭字語与えられた。

PHPには、PEARライブラリ群、mojaviEthnasymfonyCakePHPCodeIgniterZendFrameworkなどのWebアプリケーション効率的構築できるフレームワークや、Smartyのようなテンプレートエンジンなど多数外部ライブラリ存在している。JavaStrutsのようなMVCモデルや、Ruby On RailsのようなRADRapid Application Development)を利用した開発が可能となっている。また、PHPには、コマンドライン版も存在しており、これによりシェル上で実行できるため、PerlRubyのような使い方も可能である。またWindowsMac OSなどのUNIX以外のプラットフォームでも利用可能である。


参照リンク
PHP: Hypertext Preprocessor
日本 PHP ユーザ会 (Japan PHP Users Group) :: メイン


拡張子辞典

拡張子辞典拡張子辞典

PHP関数リファレンス

PHP Documentation GroupPHP Documentation Group

PHP / Java の連携

導入

PHP と Java の連携をとして考えられる手段は 2 種類あります。 PHP を Java サーブレット環境に統合する方法 と Java サポートを PHP に統合する方法です。前者のほうが より安定で効率的な手法です。前者は、サーブレットサーバへのインターフェイス として SAPI モジュールにより提供され、後者は Java 拡張モジュール として提供されます。
Java 拡張モジュールは、PHP から Java オブジェクトのメソッドを生成し、 コールする簡単で効率的な手段を提供します。この JVM は JNI を用いて 作成され、全てはこのプロセスで動作します。

警告
この拡張モジュールは、 実験的 なものです。この拡張モジュールの動作・ 関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 このモジュールは自己責任で使用してください。

要件

この拡張モジュールを使用するには、使用するマシンに Java VM が インストールされていることが必要です。

インストール手順

この » PECL 拡張 モジュールは PHP にバンドルされていません。
PHP 4 の場合、この PECL 拡張モジュール のソースは、PHP のソースの ext/ ディレクトリ、または 上の PECL リンクで入手可能です。 これらの関数を使用するには --with-java[=DIR] を使用して Java サポートつきで PHP をコンパイルする必要があります。 DIR は JDK のインストールディレクトリを指します。この拡張モジュールは 共有モジュールとしてのみビルド可能です。詳細な情報は php-src/ext/java/README にあります。
Windows ユーザがこれらの関数を使用するには、php.ini 内で php_java.dll を有効にします。 PHP 4 の場合、この DLL は PHP の Windows ダウンロードバイナリの extensions/ ディレクトリ にあります。 この PECL 拡張モジュール の DLL» PHP ダウンロード ページ または » http://snaps.php.net/ からダウンロードできます。
注意: Windows 環境において PHP <= 4.0.6 を使用してこのモジュールを有効に するには、jvm.dll をシステムの PATH が通った場所に おく必要があります。PHP > 4.0.6 では、追加の DLL は必要ありません。

実行時設定

php.ini の設定により動作が変化します。
表 143. Java 設定オプション
名前デフォルト変更の可否変更履歴
java.class.pathNULLPHP_INI_ALL 
java.homeNULLPHP_INI_ALL 
java.library.pathNULLPHP_INI_ALL 
java.libraryJAVALIBPHP_INI_ALL 

PHP_INI_* 定数の詳細および定義については 付録 G. php.ini ディレクティブ を参照してください。

リソース型

リソース型は定義されていません。

定義済み定数

定数は定義されていません。

例 1000. Java の例
<?php
// Java クラス java.lang.System のインスタンスをPHPに作成する
$system = new Java('java.lang.System');

// プロパティへのアクセスのデモ
echo 'Java version=' . $system->getProperty('java.version') . '<br />';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '<br />';
echo 'OS=' . $system->getProperty('os.name') . ' ' .
             $system->getProperty('os.version') . ' on ' .
             $system->getProperty('os.arch') . ' <br />';

// java.util.Dateの例
$formatter = new Java('java.text.SimpleDateFormat',
                     "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

echo $formatter->format(new Java('java.util.Date'));
?>

例 1001. AWT の例
<?php
// この例は、CGI として実行されることのみを考慮しています。

$frame  = new Java('java.awt.Frame', 'PHP');
$button = new Java('java.awt.Button', 'Hello Java World!');

$frame->add('North', $button);
$frame->validate();
$frame->pack();
$frame->visible = True;

$thread = new Java('java.lang.Thread');
$thread->sleep(10000);

$frame->dispose();
?>

注意:
  • new Java() は、有効なコンストラクタがある場合、 クラスのインスタンスを生成します。引数が指定されない場合には、 デフォルトのコンストラクタにより java.lang.Systemのようなクラスにアクセスすると 良いでしょう。このクラスは、ほとんどの機能を静的なメソッドとして 公開しています。
  • あるインスタンスのメンバーにアクセスする際には、まず bean プロパティ が探されてから、次に public フィールドが探されます。言い換えると、 print $date.time はまず $date.getTime() と解釈され、続いて $date.time と解釈されます。
  • 静的メンバおよびインスタンスメンバは共に同じ構文でアクセス可能です。 さらに、java オブジェクトが java.lang.Class 型の 場合、このクラスの静的メンバ(フィールドとメソッド)にアクセス可能です。
  • 例外が発生すると PHP の警告が出力され、結果は NULL となります。警告は "@" 記号を付けてメソッドをコールすることに抑圧できます。 直近のエラーを取得し、リセットするために以下の API を使用することができます。

  • オーバーロードの解決は、二つの言語の間で型の違いがあるため一般には 困難な問題です。PHP の Java 拡張機能は、どのオーバーロードが 最も一致するかを定義するための方法として、簡単ですがかなり 効率的なものを使用しています。
    加えて、PHP のメソッド名は大文字小文字を区別しないため、選択される オーバーロードの数は増加する傾向があります。
    メソッドが一度選択されると、パラメータの値は必要に応じて調整されます。 このため、(倍精度実数が論理値に変換されるといった)データの劣化が 発生する可能性があります。
  • PHP では伝統的に配列とハッシュテーブルは相互に完全に可換でした。PHP の ハッシュテーブルは整数または文字列の添字のみを使用できることに注意して ください。また、Java の primitive 型の配列は疎とすることができないことに も注意してください。これらの構造は値で渡されるため、メモリと時間の 消費量が大きくする可能性があります。

Java Servlet SAPI

Java Servlet SAPI は、PHP プロセッサ全体をサーブレットとして実行する ために、Java 拡張モジュールにより定義された機構の上に構築されています。 PHP の側からみてこの実装が基本的に優れている点は、サーブレットを サポートする Web サーバが通常 JVM をプールし、再利用することに注力している ことです。このサーブレット SAPI モジュールの構築手順は、 php4/sapi/README にあります。 注意:
  • このコードは、全てのサーブレットエンジンで実行可能であるように作成 されていますが、現在 Apache の Jakarta/tomcat でしかテストされていません。 他のエンジンでこのコードを実行する際に必要なパッチ、バグレポート、 成功事例等をお知らせください。
  • PHP は動作ディレクトリを変更する特徴があります。sapi/サーブレット はもとに戻そうとしますが、PHP が実行されている間、サーブレットエンジンは CLASSPATH に相対ディレクトリにより指定されている全てのクラスを ロードできないか、管理用および JSP コンパイル用に使用されている 作業ディレクトリを見つけることができなくなる可能性があります。

目次

java_last_exception_clear — 直近の例外をクリアする
java_last_exception_get — 直近の Java 例外を取得する


ウィキペディア

ウィキペディアウィキペディア

PHP: Hypertext Preprocessor

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2012/02/03 04:50 UTC 版)

(PHP から転送)

PHP: Hypertext Preprocessor(ピー・エイチ・ピー ハイパーテキスト プリプロセッサー)とは、動的にHTMLデータを生成することによって、動的なウェブページを実現することを主な目的としたプログラミング言語、およびその言語処理系である。

PHPはサーバーサイド・スクリプト言語として利用されており、Webサーバ上で動作し、Webサーバ上でPHPスクリプトの文書が要求されるたびに、そのPHPスクリプトが実行され、結果をウェブブラウザに対して送信する。平易な文法のため初心者でも習得しやすく、また大規模な開発にも多く用いられている。多くのフレームワークやライブラリが存在し、開発の手助けとなっている。

数多くのオープンソースウェブアプリケーションに利用されている一方、しばしば脆弱性の報告がなされ、過去に深刻なセキュリティホールが何度か報告されている。

また、PHP互換コンパイラーであるPhalangerなども登場してきている。






「PHP: Hypertext Preprocessor」の続きの解説一覧




PHPに関連した本


PHPに関係した商品



PHPのページへのリンク

[PR] おすすめ情報

「PHP」の関連用語
PHPのお隣キーワード
モバイル
モバイル版のWeblioは、下記のURLからアクセスしてください。
http://m.weblio.jp/
» モバイルで「PHP」を見る
_ _   


PHPのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
マネーパートナーズマネーパートナーズ
Copyright © 2012MONEY PARTNERS CO,LTD All rights reserved.
OSS iPediaOSS iPedia
Copyright © Information-technology Promotion Agency, Japan. All rights reserved 2006-2012
PHPプロ!PHPプロ!
©COPYRIGHT ASIAL CORPORATION ALL RIGHTS RESERVED.
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2012 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリPHPの記事を利用しております。
拡張子辞典拡張子辞典
Copyright © 2005-2012 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリ.phpの記事を利用しております。
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2012 by the PHP Documentation Group.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのPHP: Hypertext Preprocessor (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2012 Weblio RSS