SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
最新PHP事情
~新バージョンPHP4のご紹介とPHPのXML等への
         応用について~

  日時:2000年7月22日(土曜日)13:50~15:10
  会場:大田区産業プラザ 小展示場


    日本PHPユーザー会 http://www.php.gr.jp/
    廣川 類 <louis@cityfujisawa.ne.jp>
           <hirokawa@php.net>
1.PHP4の新機能
2.Webアプリ構築の実際
3.デモ(Linux)
PHP3の課題


 マルチスレッド未対応
  Native APIがApacheのみ
 大規模コードでの速度低下
  スクリプトの逐次実行
 セッション管理の欠如
  PHPlib等の外部ライブラリによるサポート
PHP4では…

 より高機能に
  セッション、OOP(クラス、Java、COM等)の強化
 より安定に
  リソース管理の強化:マルチスレッド対応、管理自動化
 より簡単に
  拡張モジュールの標準化、標準クラスの整備
PHP4の新機能

Zend Engine      PHP

  リソース管理強化         複数Webサーバ対応
  • マルチスレッド化       信頼性の向上
  • 管理自動化          高速化
   実行時コンパイラ        大規模アプリ対応
  言語強化             セッション機能
  (PHP3上位互換)
                   標準クラス(PEAR)
   Zend Add-on
PHP4の新機能:セッション
 セッション機能のサポート
  HTTPは状態を保存しない→セッションデータ保持が必要
  PHP3ではPHPLIB等の外部ライブラリを使用
  セッションIDによる管理→クライアント側に保存:
   (1)クッキー、(2)GET
  セッションデータ保存
   (1)ファイル、(2)共有メモリ、(3)ユーザ定義(RDBMS等)
  session_start();             // セッションを開始
  print($counter);
  $counter++;
  session_register(”counter”); // セッション変数を登録
                                // session_register($counter);は間違い!
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;
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();
PHP4の新機能:リソース管理の強化

 Reference Counting
   リソースはポインタで管理され、コピーは行わない。
    →高速化
   参照されなくなったリソースは自動的に開放される。
    →メモリの節約、安定性の増大
   while( $row = sql_get_row($result_handle))
     {
       print query_result($row, "name");
       query_free($row);
     }                                PHP3では必要。
                                これを行わないとスクリプト実行終了
                                時までメモリが開放されない。
                                →PHP4では自動的に開放される。
PHP4の新機能:Zendアドオン

 Zend Optimizer
  スクリプトコードの最適化により大幅に高速化
  現在RC1版リリース中


 Zend Cache
  コンパイル後のコードをメモリ上にキャッシュ
  →コンパイル、ロードの時間を節約


 Zend Compiler
  スクリプトコードの隠蔽が可能
  →企業ユーザ、商用アプリ開発者にメリット
1.PHP4の新機能
2.Webアプリ構築の実際
3.デモ(Linux)
PHPと標準クラス

なぜクラスの標準化が必要か?
 背景:
 PHP組込関数ではWebアプリに必要な機能を実装できない。
 →ユーザ関数として作成・配布
 →同一機能・複数実装による非効率、コード仕様が不統一
 クラス標準化の試み
  PHPlib :PHP Base Library
  PEAR
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/
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";
 }
 ?>
PHPとXML

 SAXパーサ:EXPAT
 Apache標準、各タグに処理用のコールバック関数を定義
 DOMパーサ:LIBXML
 GNOME標準、DOM(Document Object Model)
 XSLTパーサ(開発中)
  Javaインターフェース: Saxon、Cocoon2
  PHP拡張モジュール:Sablotron、Xalan/C(予定)
PHPとPDF

 PDF (Portable Document Format)
   電子文書フォーマットの標準
   PDF-APIにより動的にPDFを作成可能
 API:PDFlib,ClibPDF
   日本語に対応(PDFlib:3.0以降,ClibPDF:2.0以降)
   PDFのマージには未対応
   ライセンス: 非商用は無料、商用利用は有償
PHPとイメージ


 イメージを動的に生成可能
  画像フォーマット:PNG,JPEG,WBMP,XBM (,GIF)
  TrueTypeフォントを使用可能
 イメージ情報の取得
  サイズ等の基本情報の取得
  EXIF情報を取得可能
 Shockwave Flashファイルの動的生成
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");                      // 出力           です。
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
まとめと課題

 PHP4の新機能
  より高機能に:セッション、Java、COM等のサポート
  より安定に:リソース管理の強化
  より簡単に:拡張の簡単化、標準クラスの整備
 今後の課題
  PHP国際化
  XML/XSLT、Templateのネーティブサポート
  アプリケーションサーバー化
1.PHP4の新機能
2.Webアプリ構築の実際
3.デモ(Linux)
PHPに関するデモ(Linux)

 (1)PHP全般
 (2)全文検索エンジン(Namazu)
 (3)テンプレート:PHPlib
 (4)認証、許可属性:PHPlib
 (5)データベースとの連携(PEAR/DBの使用例)
 (6)PDFドキュメントの動的生成
 (7) Shockwave Flashの動的生成

Weitere ähnliche Inhalte

Was ist angesagt?

最近の PHP の話
最近の PHP の話最近の PHP の話
最近の PHP の話y-uti
 
Good Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX PhilosophyGood Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX PhilosophyYuya Takeyama
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )hiro345
 
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門kwatch
 
CodeIgniter入門
CodeIgniter入門CodeIgniter入門
CodeIgniter入門Sho A
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜Sotaro Omura
 
PHP の GC の話
PHP の GC の話PHP の GC の話
PHP の GC の話y-uti
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようShohei Okada
 
CMSとPerlで遊ぼう
CMSとPerlで遊ぼうCMSとPerlで遊ぼう
CMSとPerlで遊ぼうDaiki Ichinose
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarSotaro Karasawa
 
Perl logging
Perl loggingPerl logging
Perl loggingkeroyonn
 
FuelPHPで3種のprofilerを使ってみた
FuelPHPで3種のprofilerを使ってみたFuelPHPで3種のprofilerを使ってみた
FuelPHPで3種のprofilerを使ってみたKatsuhiro Miura
 
.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説Cherry Pie Web
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUpKenichi Mukai
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみてSotaro Omura
 

Was ist angesagt? (20)

HHVM Hack
HHVM HackHHVM Hack
HHVM Hack
 
最近の PHP の話
最近の PHP の話最近の PHP の話
最近の PHP の話
 
Good Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX PhilosophyGood Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX Philosophy
 
PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
 
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyieldPHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
 
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
 
CodeIgniter入門
CodeIgniter入門CodeIgniter入門
CodeIgniter入門
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
 
PHP の GC の話
PHP の GC の話PHP の GC の話
PHP の GC の話
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 
CMSとPerlで遊ぼう
CMSとPerlで遊ぼうCMSとPerlで遊ぼう
CMSとPerlで遊ぼう
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
 
Perl logging
Perl loggingPerl logging
Perl logging
 
FuelPHPで3種のprofilerを使ってみた
FuelPHPで3種のprofilerを使ってみたFuelPHPで3種のprofilerを使ってみた
FuelPHPで3種のprofilerを使ってみた
 
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
 
.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説
 
あらためてPHP5.3
あらためてPHP5.3あらためてPHP5.3
あらためてPHP5.3
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみて
 

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

10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12kenjis
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会Yuji Otani
 
スクリプト言語PHP攻略法
スクリプト言語PHP攻略法スクリプト言語PHP攻略法
スクリプト言語PHP攻略法Rui Hirokawa
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1kenjis
 
PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~Rui Hirokawa
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoyakenjis
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方Soudai Sone
 
PHPの今とこれから2017
PHPの今とこれから2017PHPの今とこれから2017
PHPの今とこれから2017Rui Hirokawa
 
WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門Michinari Odajima
 
WebAPIではじめるphp入門
WebAPIではじめるphp入門WebAPIではじめるphp入門
WebAPIではじめるphp入門Hiroaki Murayama
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterMasanori Oobayashi
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1Fumito Mizuno
 
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料Junichi Ishida
 
PHPの今とこれから2023
PHPの今とこれから2023PHPの今とこれから2023
PHPの今とこれから2023Rui Hirokawa
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4アシアル株式会社
 
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925龍一 田中
 
Weeklycms20120218
Weeklycms20120218Weeklycms20120218
Weeklycms20120218Yoshi Sakai
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会Yuji Otani
 
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜Hideo Kashioka
 
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerHideo Kashioka
 

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

10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会
 
スクリプト言語PHP攻略法
スクリプト言語PHP攻略法スクリプト言語PHP攻略法
スクリプト言語PHP攻略法
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 
PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方
 
PHPの今とこれから2017
PHPの今とこれから2017PHPの今とこれから2017
PHPの今とこれから2017
 
WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門
 
WebAPIではじめるphp入門
WebAPIではじめるphp入門WebAPIではじめるphp入門
WebAPIではじめるphp入門
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
 
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
 
PHPの今とこれから2023
PHPの今とこれから2023PHPの今とこれから2023
PHPの今とこれから2023
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4
 
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925
 
Weeklycms20120218
Weeklycms20120218Weeklycms20120218
Weeklycms20120218
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会
 
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
 
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
 

Mehr von Rui Hirokawa

PHPの今とこれから2022
PHPの今とこれから2022PHPの今とこれから2022
PHPの今とこれから2022Rui Hirokawa
 
日本PHPユーザ会の紹介
日本PHPユーザ会の紹介日本PHPユーザ会の紹介
日本PHPユーザ会の紹介Rui Hirokawa
 
PHPの中の人によるパネルディスカッション
PHPの中の人によるパネルディスカッションPHPの中の人によるパネルディスカッション
PHPの中の人によるパネルディスカッションRui Hirokawa
 
PHPの今とこれから2009
PHPの今とこれから2009PHPの今とこれから2009
PHPの今とこれから2009Rui Hirokawa
 
PHPの今とこれから2008
PHPの今とこれから2008PHPの今とこれから2008
PHPの今とこれから2008Rui Hirokawa
 
PHPの今とこれから2007
PHPの今とこれから2007PHPの今とこれから2007
PHPの今とこれから2007Rui Hirokawa
 
PHPの今とこれから2006
PHPの今とこれから2006PHPの今とこれから2006
PHPの今とこれから2006Rui Hirokawa
 
PHPの今と未来を語る
PHPの今と未来を語るPHPの今と未来を語る
PHPの今と未来を語るRui Hirokawa
 
PHPの今と未来を語る
PHPの今と未来を語るPHPの今と未来を語る
PHPの今と未来を語るRui Hirokawa
 
php.netの歩き方
php.netの歩き方php.netの歩き方
php.netの歩き方Rui Hirokawa
 
PHPの今とこれから2018
PHPの今とこれから2018PHPの今とこれから2018
PHPの今とこれから2018Rui Hirokawa
 
PHP Now and then 2018 : WordPress Special Edition
PHP Now and then 2018 : WordPress Special EditionPHP Now and then 2018 : WordPress Special Edition
PHP Now and then 2018 : WordPress Special EditionRui Hirokawa
 
PHPの今とこれから2016
PHPの今とこれから2016PHPの今とこれから2016
PHPの今とこれから2016Rui Hirokawa
 
PHPの今とこれから2015
PHPの今とこれから2015PHPの今とこれから2015
PHPの今とこれから2015Rui Hirokawa
 
PHP 5.5ネーティブキャッシュの話
PHP 5.5ネーティブキャッシュの話PHP 5.5ネーティブキャッシュの話
PHP 5.5ネーティブキャッシュの話Rui Hirokawa
 

Mehr von Rui Hirokawa (15)

PHPの今とこれから2022
PHPの今とこれから2022PHPの今とこれから2022
PHPの今とこれから2022
 
日本PHPユーザ会の紹介
日本PHPユーザ会の紹介日本PHPユーザ会の紹介
日本PHPユーザ会の紹介
 
PHPの中の人によるパネルディスカッション
PHPの中の人によるパネルディスカッションPHPの中の人によるパネルディスカッション
PHPの中の人によるパネルディスカッション
 
PHPの今とこれから2009
PHPの今とこれから2009PHPの今とこれから2009
PHPの今とこれから2009
 
PHPの今とこれから2008
PHPの今とこれから2008PHPの今とこれから2008
PHPの今とこれから2008
 
PHPの今とこれから2007
PHPの今とこれから2007PHPの今とこれから2007
PHPの今とこれから2007
 
PHPの今とこれから2006
PHPの今とこれから2006PHPの今とこれから2006
PHPの今とこれから2006
 
PHPの今と未来を語る
PHPの今と未来を語るPHPの今と未来を語る
PHPの今と未来を語る
 
PHPの今と未来を語る
PHPの今と未来を語るPHPの今と未来を語る
PHPの今と未来を語る
 
php.netの歩き方
php.netの歩き方php.netの歩き方
php.netの歩き方
 
PHPの今とこれから2018
PHPの今とこれから2018PHPの今とこれから2018
PHPの今とこれから2018
 
PHP Now and then 2018 : WordPress Special Edition
PHP Now and then 2018 : WordPress Special EditionPHP Now and then 2018 : WordPress Special Edition
PHP Now and then 2018 : WordPress Special Edition
 
PHPの今とこれから2016
PHPの今とこれから2016PHPの今とこれから2016
PHPの今とこれから2016
 
PHPの今とこれから2015
PHPの今とこれから2015PHPの今とこれから2015
PHPの今とこれから2015
 
PHP 5.5ネーティブキャッシュの話
PHP 5.5ネーティブキャッシュの話PHP 5.5ネーティブキャッシュの話
PHP 5.5ネーティブキャッシュの話
 

Kürzlich hochgeladen

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 

Kürzlich hochgeladen (8)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 

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

  • 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>
  • 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 スクリプトコードの隠蔽が可能 →企業ユーザ、商用アプリ開発者にメリット
  • 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のネーティブサポート  アプリケーションサーバー化
  • 22. PHPに関するデモ(Linux) (1)PHP全般 (2)全文検索エンジン(Namazu) (3)テンプレート:PHPlib (4)認証、許可属性:PHPlib (5)データベースとの連携(PEAR/DBの使用例) (6)PDFドキュメントの動的生成 (7) Shockwave Flashの動的生成