Your SlideShare is downloading. ×
0
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

最新PHP事情 (2000年7月22日,PHPカンファレンス)

2,718

Published on

記念すべき第1回PHPカンファレンスのプレゼン資料です。2000年の資料のため、技術的には賞味期限切れですが、単純に懐かしみたい方にどうぞ。

記念すべき第1回PHPカンファレンスのプレゼン資料です。2000年の資料のため、技術的には賞味期限切れですが、単純に懐かしみたい方にどうぞ。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,718
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 最新PHP事情~新バージョンPHP4のご紹介とPHPのXML等への 応用について~ 日時:2000年7月22日(土曜日)13:50~15:10 会場:大田区産業プラザ 小展示場 日本PHPユーザー会 http://www.php.gr.jp/ 廣川 類 <louis@cityfujisawa.ne.jp> <hirokawa@php.net>
  • 2. 1.PHP4の新機能2.Webアプリ構築の実際3.デモ(Linux)
  • 3. PHP3の課題 マルチスレッド未対応  Native APIがApacheのみ 大規模コードでの速度低下  スクリプトの逐次実行 セッション管理の欠如  PHPlib等の外部ライブラリによるサポート
  • 4. PHP4では… より高機能に  セッション、OOP(クラス、Java、COM等)の強化 より安定に  リソース管理の強化:マルチスレッド対応、管理自動化 より簡単に  拡張モジュールの標準化、標準クラスの整備
  • 5. PHP4の新機能Zend Engine PHP リソース管理強化 複数Webサーバ対応 • マルチスレッド化 信頼性の向上 • 管理自動化 高速化 実行時コンパイラ 大規模アプリ対応 言語強化 セッション機能 (PHP3上位互換) 標準クラス(PEAR) Zend Add-on
  • 6. PHP4の新機能:セッション セッション機能のサポート  HTTPは状態を保存しない→セッションデータ保持が必要  PHP3ではPHPLIB等の外部ライブラリを使用  セッションIDによる管理→クライアント側に保存: (1)クッキー、(2)GET  セッションデータ保存 (1)ファイル、(2)共有メモリ、(3)ユーザ定義(RDBMS等) session_start(); // セッションを開始 print($counter); $counter++; session_register(”counter”); // セッション変数を登録 // session_register($counter);は間違い!
  • 7. PHP4の新機能:言語の拡張 foreach文 PHP3 PHP4 reset( $arr ); foreach( $arr as $value ) { while( list( , $value ) = each( $arr ) ) echo "Value: $value<br>n"; { } echo "Value: $value<br>n"; } ヒア・ドキュメント print <<<EOS Hello! This is a pen! EOS;
  • 8. PHP4の新機能:外部オブジェクト Javaのサポート:サーブレット、クラス Java PHP4 import java.io.*; $f = new Java("java.io.File", ... $filename); File f = new File (filename); $size = $f->length (); long size = f.length (); echo "$sizen"; System.out.println (size); COM(Common Object Module)$word = new COM("word.application");$word->documents->add();$word->selection->typetext(”Hello!");$word->documents[1]->saveas("test.doc");$word->quit();
  • 9. PHP4の新機能:リソース管理の強化 Reference Counting  リソースはポインタで管理され、コピーは行わない。 →高速化  参照されなくなったリソースは自動的に開放される。 →メモリの節約、安定性の増大 while( $row = sql_get_row($result_handle)) { print query_result($row, "name"); query_free($row); } PHP3では必要。 これを行わないとスクリプト実行終了 時までメモリが開放されない。 →PHP4では自動的に開放される。
  • 10. PHP4の新機能:Zendアドオン Zend Optimizer スクリプトコードの最適化により大幅に高速化 現在RC1版リリース中 Zend Cache コンパイル後のコードをメモリ上にキャッシュ →コンパイル、ロードの時間を節約 Zend Compiler スクリプトコードの隠蔽が可能 →企業ユーザ、商用アプリ開発者にメリット
  • 11. 1.PHP4の新機能2.Webアプリ構築の実際3.デモ(Linux)
  • 12. PHPと標準クラスなぜクラスの標準化が必要か? 背景: PHP組込関数ではWebアプリに必要な機能を実装できない。 →ユーザ関数として作成・配布 →同一機能・複数実装による非効率、コード仕様が不統一 クラス標準化の試み  PHPlib :PHP Base Library  PEAR
  • 13. PHPと標準クラス:PHPLIBの概要 機能  DB抽象化: DB_Sqlクラス Perm User PostgreSQL,MySQL,Oracle,ODBC,...をサポート Auth  セッション管理: Sessionクラス Session クッキーまたはGET変数を使用  認証:Authクラス DB_sql チャレンジレスポンス認証、有効時間を指定可能。 PHP  パーミッション管理:Permクラス ユーザ保有権限(管理者、一般ユーザ)毎のアクセス管理  ユーザ管理:Userクラス  テンプレート:Templateクラス 資料:PHPlibドキュメント(翻訳版) http://www.php.gr.jp/php/phplib/
  • 14. PHPと標準クラス:PEAR クラスの標準化 → PerlのCPAN, TeXのCTAN 機能  DB: DB抽象化クラス(MySQL,PostgreSQL,ODBC,...)  FILE: ファイル操作 使用例 DSNの指定方法: データベース種類://ユーザ名:パスワード@ホスト名/データベース <?php // PEAR/DB サンプル $dsn = "odbc://nobody:nobody@test"; // ODBC // $dsn = "pgsql://nobody:nobody@localhost/test"; // PostgreSQL $obj = DB::connect($dsn); // データベースに接続 $res = $obj->simpleQuery(“select * from product”); // クエリ実行 while($row = $obj->fetchRow($res)){ // 結果を取得・表示 print join(":",$row) . "<BR>n"; } ?>
  • 15. PHPとXML SAXパーサ:EXPAT Apache標準、各タグに処理用のコールバック関数を定義 DOMパーサ:LIBXML GNOME標準、DOM(Document Object Model) XSLTパーサ(開発中)  Javaインターフェース: Saxon、Cocoon2  PHP拡張モジュール:Sablotron、Xalan/C(予定)
  • 16. PHPとPDF PDF (Portable Document Format)  電子文書フォーマットの標準  PDF-APIにより動的にPDFを作成可能 API:PDFlib,ClibPDF  日本語に対応(PDFlib:3.0以降,ClibPDF:2.0以降)  PDFのマージには未対応  ライセンス: 非商用は無料、商用利用は有償
  • 17. PHPとイメージ イメージを動的に生成可能  画像フォーマット:PNG,JPEG,WBMP,XBM (,GIF)  TrueTypeフォントを使用可能 イメージ情報の取得  サイズ等の基本情報の取得  EXIF情報を取得可能 Shockwave Flashファイルの動的生成
  • 18. PHPとテンプレート テンプレートの概要  HTMLテンプレートにはPHPコードを書かずにタグのみを記述  PHPスクリプトによりタグに値を代入し、代入後のHTMLを表示 複数のテンプレートクラスが既に存在  FastTemplate:Perlから移植  PHPlibのtemplateクラス  PHP4用テンプレートエンジン:作成中 テンプレート使用例 mytemp.ihtml$tpl = new Template(); // インスタンスを作成 私の名前は {name}$tpl->set_file("mytemp","mytemp.ihtml"); // テンプレート読込 です。$tpl->set_var("name","太郎"); // タグ"name"に値を代入$tpl->parse("output1","mytemp"); // テンプレートを処理 私の名前は 太郎$tpl->p("output1"); // 出力 です。
  • 19. PHPに関する情報源 関連URL(英語)  PHP http://www.php.net/  Zend http://www.zend.com/  PHPBuilder http://www.phpbuilder.com/  DevShed http://www.devshed.com/Server_Side/PHP/  PHP Function Table http://www. zend.com/phpfunc/ 関連URL(日本語)  日本PHPユーザ会 http://www.php.gr.jp/  広川のページ http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/ メーリングリスト  日本語ML:php-jp,ユーザ会,国際化  英語ML:xxx@lists.php.net php-general,php-windows,php-i18n,php-db,php-dev,php-pear,php-kb
  • 20. まとめと課題 PHP4の新機能  より高機能に:セッション、Java、COM等のサポート  より安定に:リソース管理の強化  より簡単に:拡張の簡単化、標準クラスの整備 今後の課題  PHP国際化  XML/XSLT、Templateのネーティブサポート  アプリケーションサーバー化
  • 21. 1.PHP4の新機能2.Webアプリ構築の実際3.デモ(Linux)
  • 22. PHPに関するデモ(Linux) (1)PHP全般 (2)全文検索エンジン(Namazu) (3)テンプレート:PHPlib (4)認証、許可属性:PHPlib (5)データベースとの連携(PEAR/DBの使用例) (6)PDFドキュメントの動的生成 (7) Shockwave Flashの動的生成

×