• 検索結果がありません。

PHP4の今 日本語対応と最近のトピックス

N/A
N/A
Protected

Academic year: 2021

シェア "PHP4の今 日本語対応と最近のトピックス"

Copied!
15
0
0

読み込み中.... (全文を見る)

全文

(1)

PHP の今とこれから

日本

PHP ユーザ会

廣川 類

<hirokawa@php.gr.jp>

PHPの歩み プログラミング言語としてのPHP PHP5の話

Lightweight Language Saturday 2003 年 8 月 9 日

(2)

本資料の再配布及び転用について

本プレゼンテーション資料の著作権は一部の画 像データを除き著者(廣川)が保有します。

本資料の再配布は自由ですが、雑誌・書籍へ 直接転載を行なう際には著者にご連絡下さい。

(3)

PHPとは?

http://localhost/hello.php?name=Taro <html> <head><title>test page</title></head> <body> <?php

  echo “Hello, {$_GET[‘name’]}”;

?> </body></html> hello.php Hello, Taro POST,GET,Cookie 変数は自 動的に変数に変換される。 エラー発生時は該当行を表示 

PHP: Hypertext Preprosessor

Web アプリケーション構築用のスクリプト言語

HTML ブロックの中にコードを埋め込む

(4)

PHP の特徴

 習得が容易で使い易い(いろんな言語の良いとこどり)

 高機能(データベース接続 , XML,PDF , イメージ)

LAMP (Linux + Apache + MySQL + PHP/Perl/Python)

 マルチプラットフォーム:主要な OS/Web サーバに対応  ユーザ関数やクラスによる機能拡張が可能 →有用な機能の共有化:  標準ライブラリ PEAR  Webアプリケーションでのみ使用される  オブジェクトのサポートが貧弱(大規模アプリに向かない?)  (使用方法を誤ると)セキュリティ上の問題を発生し易い  DBコネクションプーリング未サポート( WAS に比べて劣る)

(5)

PHPの構造

Modules   API PostgreSQL MySQL, MSSQL Oracle, IBM DB2 ODBC RDBMS LDAP IMAP PDF XML Image regex Web Browser Apache 1/2 AOL Server IIS Server   API Zend Engine

Runtime Compiler PHP ScriptPHP Script Thread Safe Resource Manager Executer Function Module Interface Java PEAR CGI, CLI Class Library Zend Add-in Zend Optimizer Zend Accelerator Zend Encoder Zend Accelerator

(6)

PHP の歩み

PHP/FI 2 PHP3 PHP4 PHP 国際化プロジェクト開始 「 PHP 徹底攻略」出版 日本 PHP ユーザ会設立 PHP4 リリース: ZendEngine による性能向上 15,000 1995 1996 1997 1998 1999 2000

Rasmus Lerdorf により PHP/FI 開発

PHP/FI 日本語 Web ページ , 日本語 ML PHP/FI 日本語マニュアル ,PHP/FI 日本語パッチ PHP3 開発(新開発体制へ移行) PHP3 日本語マニュアル作成プロジェクト PHP3 日本語パッチ 50,000 150,000 2,000,000 12,000,000 PHP5 2003 2001 2002 PHP 4.0.6 : 日本語対応マージ PHP 4.1 : メソッド毎の入力取得 , マルチバイト正規表現 PHP 4.2 : register_global=Off がデフォルトに PHP 4.3 :  マルチバイト対応強化(CJK、スクリプト文字コード ) ( PHP 5 :  オブジェクト機能強化: ZE2 ) 全ドメインの 30% Apache の 50% Domains (netcraft) 2004

(7)

日本

PHP ユーザー会

PHP ユーザ相互の情報交換およ びコミュニティの健全な発展 設立趣旨 • 高性能 Web ミドルウエアへのニーズ増大 • オープンソースソフトウエアの発展 背景 国内 PHP ユーザの増 加 活動内容 (WG) 2000/4 Linux Conference 2000 にて設立記者会見 http://www.php.gr.jp/ Web プロジェクト別 ML マニュアル、 FAQ 無償セミナ等 ドキュメント整備 セミナー・イベント メーリングリスト PHP の国際化等 国際化 どうやって会員になるの? FAQ 大規模負荷テスト等 テスト

(8)

PHPの言語としての特徴

Perl 、 Java 、 C に似た記述→親しみやすく、習熟容易Web アプリにフォーカス → ユーザ入力( POST,GET,Cookie)自動取得  弱い型付けの言語: 動的に型を決定  変数スコープ: グローバル , 関数内 , クラス内 ( 名前空間は PHP5 でも対応せず? )  文字列処理: 多くの関数 , ヒアドキュメント , ‘.’ による結合

 正規表現:  POSIX 互換、 Perl 互換、マルチバイト対応版( from

Ruby )

 例外処理: APIに依存 ( try … catch PHP5 で対応)  オブジェクト指向: 基本的なサポートのみ

(9)

Web環境とマルチバイト文字処理

外部リソース ( RDBMS 等) PHP スクリプト 入力パーサ ローダ コンパイラ コード実行 関数 API 出力バッファ 内部→出力エンコーディング charset 設定・メール送信 エンコーディング判別 → 内部エンコーディン グ エンコーディング変換 マルチバイト文字列処理 ・正規表現 クライアント 出力データ 入力データ SQL/ データ エンコーディング判別 → 内部エンコーディン グ

(10)

PHP と他の言語の関係

オブジェクト指向 習得の容易さ Perl Ruby Python PHP4 PHP5 sh 平易さを失わずにオブジェクト指向を取り 入れ、エンタープライズ用途に対応 Java VB

(11)

PHP 環境の強化

Webアプリ以外の用途へ

 コマンドライン版  GUI (PHP-GTK)  php-embed (myphp)  Webサービス / メッセージング  (SOAP、 XML-RPC ) 

性能・開発効率の改善

 統合環境:  Zend Studio 、 Eclipse 、 etc.  Web テンプレート: Smarty

 Webキャッシュ: コンパイル後のコードをメモリ保持

(12)

PHP5 へ

 スクリプトエンジン: ZendEngine2 に更新

 オブジェクト指向機能の大幅強化

 ( 名前空間の追加 )

 例外処理の追加 :try ~ throw ~ catch  XML 対応強化: expat から libxml2 へ  ストリームAPI強化  外部オブジェクト (Java 等 ) のオーバーロードが容易に  PHP4 と上位互換 : クラス関連一部非互換  リリースは 2003 年末? (PEAR対応等課題も多い)  マルチバイト対応:鬼車採用、文字コード変換エンジン独立化

(13)

PHP5 のオブジェクト指向強化

 値渡し→参照渡し

 プロパティ・メソッドへのアクセス制限

public, private, protected (従来は var=public のみ)

 クラス変数、クラス定数  仕様・実装の分離:  interface, implements  オーバーライドの制限: final  コンストラクタ名の統一(従来はクラス名): __construct()  デストラクタ追加(従来はリソース開放のみ): __destruct()  プロパティのオーバーローディング: __set(),__get()  メソッドのオーバーローディング: __call()

(14)

デモ

(15)

まとめ

 PHP 本家 http://www.php.net/  日本 PHP ユーザ会 http://www.php.gr.jp/  「オブジェクト指向言語に生まれ変わる PHP5 」( by 小山さん) http://www.atmarkit.co.jp/flinux/special/php5/  Do You php? (by 下岡さん ) http://www.pat.hi-ho.ne.jp/dimension/  廣川作成の PHP 関連ページ http://www.geocities.jp/rui_hirokawa/php/ (参考)  PHP5 になっても初心者に優しいスクリプト言語であり続けられ れば、Webアプリ構築用言語の定番を維持・発展できる。  オブジェクト指向対応でエンタープライズ用途に使用される  → 負荷テスト等で実績・ノウハウを積み上げる

参照

関連したドキュメント

転換社債、および株式オプションなど、負債および資本の両者の性質を有するものが存在す

以上のような点から,〈読む〉 ことは今後も日本におけるドイツ語教育の目  

日中の経済・貿易関係の今後については、日本人では今後も「増加する」との楽観的な見

トピックス 統合効果が本格化、営業利益大幅増となり黒字転換を実現 AV事業の回復

注 Web Tools 起動後、fabric の構成変更( FCSW の増減設等)および fabric 内の. FCSW

本株式交換契約承認定時株主総会基準日 (当社) 2022年3月31日 本株式交換契約締結の取締役会決議日 (両社) 2022年5月6日

J-STAGE は、日本の学協会が発行する論文集やジャー ナルなどの国内外への情報発信のサポートを目的とした 事業で、平成

このような状況の下で、当業界は、高信頼性及び省エネ・環境対応の高い製品を内外のユーザーに