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

Similar documents
目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

PowerPoint プレゼンテーション

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

WEBシステムのセキュリティ技術

2

intra-mart FormatCreator Version6.1

Javaの作成の前に

メディプロ1 Javaプログラミング補足資料.ppt

SinfonexIDaaS機能概要書

10th Developer Camp - B5

PowerPoint Presentation

Java知識テスト問題

Oracle SQL Developer Data Modeler

Si 知識情報処理

IntroductionForGR-PEACH.pptx

intra-mart Accel Platform

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

高速 軽量メールクライアント Sylpheed の応用ソリューション 高速全文検索機能 (Sylph-searcher) メールライブラリ (LibSylph) OpenSource Conference 2009 Tokyo/Spring SRA OSS, Inc. 日本支社山本博之 Copyri

IM-SecureSignOn

自己紹介 名前 : 一ノ瀬太樹 所属 : HASH コンサルティング株式会社 OWASP Japan プロモーションチーム OWASP ZAP ユーザーグループ脆弱性診断研究会 ( 管理者その 3) Perl 入学式 ( サポーター ) HASH Consult

メール関連 メールサーバー qmail IMail12.4 メールアドレス数 無制限 無制限 メールボックス容量 任意で設定 1GB 別途アシストアップ社にご連絡いただくことでご契約メールボックス容量まで設定可能 メール送受信容量 別途アシストアップ社にご連絡いただくことで 10MB まで設定可能

Install / Protect / Monetize InstallShield 全機能 データシート プロフェッショナルなインストールの作成 PREMIER PROFESSIONAL EXPRESS MSIX パッケージ サポート フレームワークをサポート Windows Installer(

Zend PHP PHP は Web 開発言語としてシェア No.1 言語 全世界のインターネットアプリケーションの約 40% で利用 Java に比べて軽く 分かりやすく 新しい Web 技術を簡単に取り込み可能 進化を続ける Zend PHP 2006 年 Zend Core

スライド 1


関係データベース

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のよう

構成例 システム名 : 単独サーバ業務システムユーザ数 : 1 ユーザ マルチコア CPU のサーバ 1 台で開発 運用します ソート機能を使用します COBOL SE Developer COBOL SE Server Runtime SORTKIT/Enterprise for Windows

1 現コンフィギュレータの問題点 1.1 独自言語 TOPPERS カーネル開発者 ( 特に TOPPERS カーネルのポーティングを行う者 ) は 現コンフィギュレータが提供する tf を使用する必要がある しかし tf は TOPPERS の独自言語であり 初めて TOPPERS カーネルを開発

スライド 1

Android Layout SDK プログラミング マニュアル

~ アドレス収集くん ~ セキュリティ対策御説明資料

Oracle、MS Access または SQL DB と CVP スタンドアロン配備を統合方法

intra-mart EX申請システム version.5.4 提出依頼機能 リリースノート

IBM i ユーザーの課題 モバイルや IOT に対応した新しい開発案件への対応 RPG COBOL など既存アプリのメンテナンス 要員の確保 属人化しない運用 管理体制 2

--

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ

WEBサービス超入門 mask.key

◎phpapi.indd

POP/IMAP POP /IMAP over SSL( 暗号化受信機能 ) SMTP Auth( 送信時認証機能 ) SMTP over SSL( 暗号化送信機能 ) ウェブメール メール転送 無制限 50 メール自動返信 迷惑メール対策 ウイルス対策 /Symantec メーリングリスト 無制限

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

Microsoft PowerPoint - 09.pptx

2. バージョンアップ内容 intra-mart WebPlatform/AppFramework Ver.7.1 および Ver.7.2 に対応いたしました SAP JCo 3.0.x に対応いたしました 3. 製品概要 IM-ERP リアルコネクトは SAP システム内のデータをリアルタイムに取

JavaプログラミングⅠ

Transcription:

PHP の今とこれから Lightweight Language Saturday 2003 年 8 月 9 日 PHPの歩み プログラミング言語としてのPHP PHP5の話 日本 PHP ユーザ会廣川類 <hirokawa@php.gr.jp>

本資料の再配布及び転用について 本プレゼンテーション資料の著作権は一部の画像データを除き著者 ( 廣川 ) が保有します 本資料の再配布は自由ですが 雑誌 書籍へ直接転載を行なう際には著者にご連絡下さい

PHP とは? PHP: Hypertext Preprosessor Web アプリケーション構築用のスクリプト言語 HTML ブロックの中にコードを埋め込む http://localhost/hello.php?name=taro hello.php <html> <head><title>test page</title></head> <body> <?php echo Hello, {$_GET[ name ]} ;?> POST,GET,Cookie 変数は自動的に変数に変換される Hello, Taro エラー発生時は該当行を表示 </body></html>

PHP の特徴 習得が容易で使い易い ( いろんな言語の良いとこどり ) 高機能 ( データベース接続, XML,PDF, イメージ ) LAMP (Linux + Apache + MySQL + PHP/Perl/Python) マルチプラットフォーム : 主要な OS/Web サーバに対応 ユーザ関数やクラスによる機能拡張が可能 有用な機能の共有化 : 標準ライブラリ PEAR Webアプリケーションでのみ使用される オブジェクトのサポートが貧弱 ( 大規模アプリに向かない?) ( 使用方法を誤ると ) セキュリティ上の問題を発生し易い DBコネクションプーリング未サポート ( WAS に比べて劣る )

Zend Accelerator PHP の構造 Web Browser Zend Add-in Zend Optimizer Zend Accelerator Zend Encoder Server API Apache 1/2 AOL Server IIS CGI, CLI Zend Engine Thread Safe Resource Manager Function Module Interface Executer Runtime Compiler Modules API PostgreSQL MySQL, MSSQL Oracle, IBM DB2 ODBC LDAP PDF IMAP XML Image Java regex Class Library RDBMS PHP Script PEAR

1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 PHP 国際化プロジェクト開始 PHP の歩み Rasmus Lerdorf により PHP/FI 開発 PHP/FI 日本語 Web ページ, 日本語 ML PHP/FI 日本語マニュアル,PHP/FI 日本語パッチ PHP3 開発 ( 新開発体制へ移行 ) PHP3 日本語マニュアル作成プロジェクト PHP3 日本語パッチ PHP 徹底攻略 出版日本 PHP ユーザ会設立 PHP4 リリース : ZendEngine による性能向上 PHP 4.0.6 : 日本語対応マージ PHP/FI 2 PHP3 PHP4 PHP 4.1 : メソッド毎の入力取得, マルチバイト正規表現 PHP 4.2 : register_global=off がデフォルトに PHP 4.3 : マルチバイト対応強化 (CJK スクリプト文字コード ) ( PHP 5 : オブジェクト機能強化 : ZE2 ) PHP5 Domains (netcraft) 15,000 50,000 150,000 2,000,000 全ドメインの 30% Apache の 50% 12,000,000

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

PHP の言語としての特徴 Perl Java C に似た記述 親しみやすく 習熟容易 Web アプリにフォーカス ユーザ入力 ( POST,GET,Cookie ) 自動取得弱い型付けの言語 : 動的に型を決定変数スコープ : グローバル, 関数内, クラス内 ( 名前空間は PHP5 でも対応せず? ) 文字列処理 : 多くの関数, ヒアドキュメント,. による結合正規表現 : POSIX 互換 Perl 互換 マルチバイト対応版 ( from Ruby ) 例外処理 : API に依存 ( try catch PHP5 で対応 ) オブジェクト指向 : 基本的なサポートのみ

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

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

PHP 環境の強化 Web アプリ以外の用途へ コマンドライン版 GUI (PHP-GTK) php-embed (myphp) Web サービス / メッセージング (SOAP XML-RPC ) 性能 開発効率の改善 統合環境 : Zend Studio Eclipse etc. Web テンプレート : Smarty Webキャッシュ : コンパイル後のコードをメモリ保持標準ライブラリの整備 : PEAR/PECL

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

PHP5 のオブジェクト指向強化 値渡し 参照渡しプロパティ メソッドへのアクセス制限 public, private, protected ( 従来は var=public のみ ) クラス変数 クラス定数仕様 実装の分離 : interface, implements オーバーライドの制限 : final コンストラクタ名の統一 ( 従来はクラス名 ): construct() デストラクタ追加 ( 従来はリソース開放のみ ): destruct() プロパティのオーバーローディング : set(), get() メソッドのオーバーローディング : call()

デモ Demo...

PHP 本家 http://www.php.net/ 日本 PHP ユーザ会 http://www.php.gr.jp/ まとめ PHP5 になっても初心者に優しいスクリプト言語であり続けられれば Webアプリ構築用言語の定番を維持 発展できる オブジェクト指向対応でエンタープライズ用途に使用される 負荷テスト等で実績 ノウハウを積み上げる ( 参考 ) オブジェクト指向言語に生まれ変わる 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/