Mais conteúdo relacionado
Semelhante a PHPの今とこれから2006 (20)
Mais de Rui Hirokawa (15)
PHPの今とこれから2006
- 2. PHP アンケート 2006
PHP5に移行しない理由
1) PHP 4で十分 (PHP 5移行のメリットがない)
2) PHP 5で既存のアプリが動くか心配(互換性)
3) PHP 5に関する資料(書籍等)が少ない
4) PHP 5の安定性・バグに不安
5) その他
主に使っているPHPのバージョン
1) PHP4
2) PHP5
3) PHP3
4) PHP6
5) 使ってない
- 12. PHP 5.1
• ZE2.1大幅に高速化
• 新規エクステンション
• PDO 標準DB I/F
• Date/Time 日付・時刻の高度化
• XMLReader/XMLWriter
SAXに代わるXMLストリーム処理手段
- 13. PHP 5.2
7/17 RC2公開,9月リリース予定
更なる高速化
stat(), implode(), str_replace(),シャットダウン
メモリ管理効率化
filter, zip, json エクステンション
ZE1互換モード削除
機能追加・改良
PDO, SPL, xmlReader改良
Apache 2.2 対応(Win32)
- 14. PHP 5.1/PHP 5.2の高速化
0
10
20
30
40
50
60
PHP 4.4 PHP 5.0 PHP 5.1 PHP 5.2 PHP 6.0
実行時間[s]
strcat(200000)
sieve(30)
nestedloop(12)
matrix(20)
heapsort(20000)
hash2(500)
hash1(50000)
fibo(30)
ary3(2000)
ary2(50000)
ary(50000)
ackermann(7)
mandel2
mandel
simpleudcall
simpleucall
simplecall
simple
• PHP 5.1/5.2 ZendEngine大幅に高速化
• PHP 5.2 メモリ使用効率化
php-5.x.x/Zend/bench.php
- 15. PDO
• PHP 5.1から標準DB I/F
• コア+DB依存モジュール+DB の3層構成
pdo
pdo_sqlite
pdo_pgsql pdo_oci
pdo_mysql
PDOデータベースドライバ
各種データベース
pdo_firebird
pdo_odbc
pdo_dblib
PDOコア
pdo_ids
pdo_informix
pdo_user
- 16. PHP 6.0
Unicodeネーティブ対応
レガシーコード削除
register_globals, magic_*, safe_mode
エクステンション
PECLから追加:APC, fileinfo他
PECLへ移動:mime_magic他
機能追加・改良
64bit整数
goto
(名前空間)
- 17. PHP 6.0のUnicode対応
PHPに文字列リテラルという概念が生まれる
Unicodeネーティブ対応:ICUをエンジンとして使用
多くの機能が影響を受ける
Unicode Preview Release Q4,2007年リリース?
Unicode対応と国際化
正規表現,エンコーディング変換
Unicode Collation:言語依存のソート/検索手法標準化
ロケール
Transliteration(音訳)
- 22. パッケージ数: PEAR 401, PECL 151
PEAR: 最新版1.4.11 (1.5.0開発中)
・独自チャネル提供可能に (多くのチャネル公開)
・依存性自動解決
PEAR/PECL update
● HTML_AJAX: AJAX対応
● APC: 3.0 で PHP 5.1対応,PHP 6.0で標準採用
● filter: PGCフィルタ 例:filter.default=notag
● axis2: Axis2/Cフロントエンド。PHP 6.0標準WebService?
PEAR/PECL update
- 24. PHP5は使われているか?
nexen.netによる統計
PHP4:90% (PHP 4.3 : 44%, PHP 4.4: 37%)
PHP5: 9% (PHP 5.1 : 5%, PHP 5.0: 4%)
Andi Gusmans氏のBlog
Zend社のサポートチケットの74%はPHP5
インストールベースではPHP4の方が多いが,新規開発ベース
ではPHP5の方が多い
・キラーアプリ不在
・PHP4の完成度が高く,バグ修正等のサポートが継続されている
・メジャーなディストリビューションの対応遅れ
PHP5が普及しない理由
- 29. PHPとフレームワーク
フレームワークは多数,しかし,標準不在
RailsはPHPにも影響: CakePHP,Ethna,Symfony,...
Zend Framework登場:2006/3 Preview版
PHP5のみに対応:PHP5普及の切り札
Zendブランドにより標準化を意図
コミュニティ活動が活発,ドキュメント整備進む
究極のシンプルさ,外部コンポーネントに非依存
proposals incubator
library
tests
manual
コンポーネント提案プロセス
- 30. フレームワーク比較
Sympony Ethna ZF
バージョン PHP5PHP4/5PHP5
O/Rマッパー
ビュー
(テンプレート) PHP/SmartySmartyPHP
入力チェック
自動生成 ジェネレータ有
Zend_Filter
(ZFormテスト中)
Zend_DB_Table
(AR, DO準備中)
AJAX Json
(ZAjax提案中)
ジェネレータ有
ActiveRecord ActiveRecord
検証/フィルタ
(設定ファイル)
検証・フィルタ
(ActionForm)
prototype.js
ZFApp
(preview1)
CakePHP
PHP4/5
PHP
(雛形あり)
ActiveRecord
Maple
PHP4/5
AjaxHelper
Smarty/Flexy
検証/フィルタ検証
ジェネレータ有
ActiveGateway