Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
PHPの今とこれから2021
PHPの今とこれから2021
Loading in …3
×

Check these out next

1 of 22 Ad

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

Download to read offline

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

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

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

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

Advertisement

Recently uploaded (20)

Advertisement

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

  1. 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. 2. 1.PHP4の新機能 2.Webアプリ構築の実際 3.デモ(Linux)
  3. 3. PHP3の課題  マルチスレッド未対応  Native APIがApacheのみ  大規模コードでの速度低下  スクリプトの逐次実行  セッション管理の欠如  PHPlib等の外部ライブラリによるサポート
  4. 4. PHP4では…  より高機能に  セッション、OOP(クラス、Java、COM等)の強化  より安定に  リソース管理の強化:マルチスレッド対応、管理自動化  より簡単に  拡張モジュールの標準化、標準クラスの整備
  5. 5. PHP4の新機能 Zend Engine PHP リソース管理強化 複数Webサーバ対応 • マルチスレッド化 信頼性の向上 • 管理自動化 高速化 実行時コンパイラ 大規模アプリ対応 言語強化 セッション機能 (PHP3上位互換) 標準クラス(PEAR) Zend Add-on
  6. 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. 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. 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. 9. PHP4の新機能:リソース管理の強化  Reference Counting  リソースはポインタで管理され、コピーは行わない。 →高速化  参照されなくなったリソースは自動的に開放される。 →メモリの節約、安定性の増大 while( $row = sql_get_row($result_handle)) { print query_result($row, "name"); query_free($row); } PHP3では必要。 これを行わないとスクリプト実行終了 時までメモリが開放されない。 →PHP4では自動的に開放される。
  10. 10. PHP4の新機能:Zendアドオン  Zend Optimizer スクリプトコードの最適化により大幅に高速化 現在RC1版リリース中  Zend Cache コンパイル後のコードをメモリ上にキャッシュ →コンパイル、ロードの時間を節約  Zend Compiler スクリプトコードの隠蔽が可能 →企業ユーザ、商用アプリ開発者にメリット
  11. 11. 1.PHP4の新機能 2.Webアプリ構築の実際 3.デモ(Linux)
  12. 12. PHPと標準クラス なぜクラスの標準化が必要か?  背景: PHP組込関数ではWebアプリに必要な機能を実装できない。 →ユーザ関数として作成・配布 →同一機能・複数実装による非効率、コード仕様が不統一  クラス標準化の試み  PHPlib :PHP Base Library  PEAR
  13. 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. 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. 15. PHPとXML  SAXパーサ:EXPAT Apache標準、各タグに処理用のコールバック関数を定義  DOMパーサ:LIBXML GNOME標準、DOM(Document Object Model)  XSLTパーサ(開発中)  Javaインターフェース: Saxon、Cocoon2  PHP拡張モジュール:Sablotron、Xalan/C(予定)
  16. 16. PHPとPDF  PDF (Portable Document Format)  電子文書フォーマットの標準  PDF-APIにより動的にPDFを作成可能  API:PDFlib,ClibPDF  日本語に対応(PDFlib:3.0以降,ClibPDF:2.0以降)  PDFのマージには未対応  ライセンス: 非商用は無料、商用利用は有償
  17. 17. PHPとイメージ  イメージを動的に生成可能  画像フォーマット:PNG,JPEG,WBMP,XBM (,GIF)  TrueTypeフォントを使用可能  イメージ情報の取得  サイズ等の基本情報の取得  EXIF情報を取得可能  Shockwave Flashファイルの動的生成
  18. 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. 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. 20. まとめと課題  PHP4の新機能  より高機能に:セッション、Java、COM等のサポート  より安定に:リソース管理の強化  より簡単に:拡張の簡単化、標準クラスの整備  今後の課題  PHP国際化  XML/XSLT、Templateのネーティブサポート  アプリケーションサーバー化
  21. 21. 1.PHP4の新機能 2.Webアプリ構築の実際 3.デモ(Linux)
  22. 22. PHPに関するデモ(Linux) (1)PHP全般 (2)全文検索エンジン(Namazu) (3)テンプレート:PHPlib (4)認証、許可属性:PHPlib (5)データベースとの連携(PEAR/DBの使用例) (6)PDFドキュメントの動的生成 (7) Shockwave Flashの動的生成

×