Weblioカテゴリー検索 |
Weblioカテゴリー/辞書と一致するものが見つかりました。
- PHP用語集 - PHPプロ!
外国為替用語集 |
PHP
OSS用語集 |
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: Hypertext Preprocesser
Webアプリケーションを開発するためのプログラミング言語の1つ。オープンソース(PHP License)で公開されており、無償でダウンロード・配布が可能。現在の最新バージョンは5だが、バージョン4も依然として幅広く使われている。
関連用語
関連Webサイト
IT用語辞典バイナリ |
PHP
読み方:ピーエイチピー
別名:Personal Home Page
PHPとは、スクリプト言語の一種で、サーバーサイドで動作し、HTMLの文書内に統合される形で記述されることを特徴とするプログラミング言語のことである。動的なWebページを生成するために用いられる。
PHPのプログラムは、HTML内にPHP用の要素を示す特別のタグを設けて、その中に記述される。通常PHPプログラムを含むファイルは、拡張子に「.php」が付けられる。ファイルの実行時には、クライアントに出力される前にWebサーバー上で処理される。PHPのインタプリタは、Apacheのモジュール(mod_php5など)として組み込まれ、Apacheと一体になって実行されるため、CGIの実行によるサーバーサイドプログラムよりも高速である。PHPは、JavaやC言語、C++と類似の構文を持っている。変数定義、関数定義、クラス定義、継承、例外処理などが実行可能である。
PHPは、HTMLの中にスクリプトを埋め込む形で用いることができ、それ自体が「テンプレート」でもあるため、簡単に使うことができる。フォームデータなどのHTTP要求を簡単に解析できる仕組み、MySQLやPostgreSQLとの接続、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のライブラリ群、mojavi、Ethna、symfony、CakePHP、CodeIgniter、ZendFrameworkなどのWebアプリケーションを効率的に構築できるフレームワークや、Smartyのようなテンプレートエンジンなど多数の外部ライブラリが存在している。JavaのStrutsのようなMVCモデルや、Ruby On RailsのようなRAD(Rapid Application Development)を利用した開発が可能となっている。また、PHPには、コマンドライン版も存在しており、これによりシェル上でも実行できるため、PerlやRubyのような使い方も可能である。またWindowsやMac OSなどのUNIX以外のプラットフォームでも利用可能である。
参照リンク
PHP: Hypertext Preprocessor
日本 PHP ユーザ会 (Japan PHP Users Group) :: メイン
拡張子辞典 |
PHP関数リファレンス |
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.path | NULL | PHP_INI_ALL | |
| java.home | NULL | PHP_INI_ALL | |
| java.library.path | NULL | PHP_INI_ALL | |
| java.library | JAVALIB | PHP_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 の歴史と関連するプロジェクト - PHP Manual。
- ^ PHP: PHP 5.2.x から PHP 5.3.x への移行 - Manual
- 1 PHP: Hypertext Preprocessorとは
- 2 PHP: Hypertext Preprocessorの概要
- 3 代表的なソフトウェア
- 4 関連項目
PHPに関連した本
- 君はまだ残業しているのか (PHP文庫) 吉越 浩一郎 PHP研究所
- よくわかるPHPの教科書 たにぐち まこと 毎日コミュニケーションズ
- 「食べない」健康法 (PHP文庫) 石原 結實 PHP研究所
PHPに関係した商品
- 【送料無料】PHPによるWebアプリケ-ションス-パ-サンプル第2版楽天ブックス
- 【送料無料】PHP+MySQL楽天ブックス
- 【送料無料】PHP逆引きレシピ楽天ブックス