SlideShare a Scribd company logo
1 of 10
Download to read offline
「PHPの中の人によるパネルディスカッション」
PHP Conference Japan 2010
25 September 2010
16:50-17:35
“Under the Hood of PHP”
Panel Discussion by Core PHP developers
[T-9]
Panelist:
Rasmus Lerdorf
Masaki Fujimoto
Yasuo Ohgaki
Moriyoshi Koizumi
Masahiro Takagi
Yoshio Hanawa
Moderater: Rui Hirokawa
Topics
 PHPの好きなところ(気に入らないところ)
What I like or doesn't like about PHP
 PHP開発関連の最近のトピックス
Recent topics in PHP internals
Toward release of PHP.Next (5.4?)
Annotation
Strict (scalar) type hinting
 PHPのこれから
Future of PHP
 Multibyte encoding support / i18n of PHP
 Decision making in PHP development
 Documentation quality
 Q&A
PHPの好きなところ、いまいちなところ
Panelist:
ラスマスさん Rasmus Lerdorf
ふじもとさん Masaki Fujimoto
大垣さん  Yasuo Ohgaki
もりよしさん Moriyoshi Koizumi
高木さん  Masahiro Takagi
hnwさん Yoshio Hanawa
 What I like or doesn't like about PHP
4.0
4.1
・エンジン大幅強化/OOP:ZE1
・PEAR
2000 2001
・mbstring統合
・性能改善
- 入力セキュリティ改善
4.2
・自動グローバル変数のデフォルト無効化
・mbregex
・zend-multibyte
2002 2003 2004 2005 2006 2007 2008 2009
4.3
・CLI
・stream
4.4
`02/12
`02/4
`01/12
`00/5
`05/6
・バグ修正
4.4.9
`08/8
5.0
`04/7
・エンジン/OOP大幅強化:ZE2
・XML対応強化(SimpleXML)
・Webサービス(SOAP)
・DB強化 (SQLite, MySQLi)
5.1
`05/11
・実行速度改善
・PDO
5.2
・メモリ管理/速度改善
・入力フィルタ
`06/11 5.3
`09/6
2010
・Namespace
・Closure
・late static binding
・GC improvement
・intl/phar/fileinfo
・MySQLnd
Toward release of PHP.Next
5.4?
・Annotation
・Traits
・(Scalar Type hinting)
- Speed Improvements
- Improved memory usage
- Removed legacy features
- etc...
- `10/3
Recent topics in PHP internals(1)
h
Annotations : http://wiki.php.net/rfc/annotations
- アノテーション:関連情報(メタデータ)を注釈として付与
- Java, .NET 等でサポート
- コメントとは異なり、プログラム/パーサに作用
namespace AppAnnotation;
class Link extends ReflectionAnnotation {
public $url;
public $target;
}
[AppAnnotationLink(url="http://www.php.net", target="_blank")]
class PHPWebsite {
/* ... */ 
}
Recent topics in PHP internals(2)
h
http://wiki.php.net/rfc/typecheckingstrictonly
- 関数/メソッドにおける厳密な型チェック:
Strict Type Checking for Scalars
<?php
function show(float $v) {
echo $v."n";
}
for ($i=1;$i<10;$i++) {
show($i/2);
}
?> 0.5
Catchable fatal error: Argument 1 passed to show()
must be of the type double, integer given, called in
t1.php on line 6 and defined in t1.php on line 2
Multibyte encoding support in PHPMultibyte encoding support in PHP
Web Browser
PHP script
http_input
http_output
script_encoding
internal_encoding
file system
(file system
encoding)
binary data
sendmail
mb_send_mail()
mbstring. ignored
data
mb_convert_encoding()
DB
DB
(connection
based)
zend_multibyte
ZendEngine
engine: libmbfl + oniguruma (regex)
(declined) PHP6 Unicode support(declined) PHP6 Unicode support
Web browser
PHP script
http_input_encoding
output_encoding
script_encoding runtime_encoding
file system
filesystem_encoding
Unicode string
binary string
fallback_encoding
stream
stream_encoding
UTF-16
cookie_encoding
DB
PDO
(DB,Tab,Col)
unicode. ignored
engine:ICU
Decision process forDecision process for
PHP developmentPHP development
Rasmus Lerdorf Andi Gutmans
Andrei Zmievski
CVS accounts >1500(15)CVS accounts >1500(15)
Core >130(5)
PHP Group:10
- ML: php.internals
- RFC process: http://wiki.php.net/rfc
Documentation qualityDocumentation quality
Rasmus Lerdorf Andi Gutmans
- PHPの普及は優れたドキュメントが大きく貢献
Documentation is so important for the popularity of PHP
- 翻訳も含めて、ドキュメントの品質を改善するための
 活動は?
  How to improve the quality of documentation ?
(including translation)

More Related Content

More from Rui Hirokawa

PHPの今とこれから2023
PHPの今とこれから2023PHPの今とこれから2023
PHPの今とこれから2023Rui Hirokawa
 
PHPの今とこれから2022
PHPの今とこれから2022PHPの今とこれから2022
PHPの今とこれから2022Rui Hirokawa
 
PHPの今とこれから2021
PHPの今とこれから2021PHPの今とこれから2021
PHPの今とこれから2021Rui Hirokawa
 
PHPの今とこれから2020
PHPの今とこれから2020PHPの今とこれから2020
PHPの今とこれから2020Rui Hirokawa
 
PHPの今とこれから2019
PHPの今とこれから2019PHPの今とこれから2019
PHPの今とこれから2019Rui 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.netの歩き方
php.netの歩き方php.netの歩き方
php.netの歩き方Rui Hirokawa
 
PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~Rui Hirokawa
 
PHPの今とこれから2017
PHPの今とこれから2017PHPの今とこれから2017
PHPの今とこれから2017Rui 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の今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014Rui Hirokawa
 
PHP 5.5ネーティブキャッシュの話
PHP 5.5ネーティブキャッシュの話PHP 5.5ネーティブキャッシュの話
PHP 5.5ネーティブキャッシュの話Rui Hirokawa
 
PHPの今とこれから 2013
PHPの今とこれから 2013PHPの今とこれから 2013
PHPの今とこれから 2013Rui Hirokawa
 

More from Rui Hirokawa (20)

PHPの今とこれから2023
PHPの今とこれから2023PHPの今とこれから2023
PHPの今とこれから2023
 
PHPの今とこれから2022
PHPの今とこれから2022PHPの今とこれから2022
PHPの今とこれから2022
 
PHPの今とこれから2021
PHPの今とこれから2021PHPの今とこれから2021
PHPの今とこれから2021
 
PHPの今とこれから2020
PHPの今とこれから2020PHPの今とこれから2020
PHPの今とこれから2020
 
PHPの今とこれから2019
PHPの今とこれから2019PHPの今とこれから2019
PHPの今とこれから2019
 
日本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.netの歩き方
php.netの歩き方php.netの歩き方
php.netの歩き方
 
PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~
 
PHPの今とこれから2017
PHPの今とこれから2017PHPの今とこれから2017
PHPの今とこれから2017
 
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の今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014
 
PHP 5.5ネーティブキャッシュの話
PHP 5.5ネーティブキャッシュの話PHP 5.5ネーティブキャッシュの話
PHP 5.5ネーティブキャッシュの話
 
PHPの今とこれから 2013
PHPの今とこれから 2013PHPの今とこれから 2013
PHPの今とこれから 2013
 

Recently uploaded

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
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
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
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
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
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
 

Recently uploaded (8)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
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
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
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
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
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の中の人によるパネルディスカッション

  • 1. 「PHPの中の人によるパネルディスカッション」 PHP Conference Japan 2010 25 September 2010 16:50-17:35 “Under the Hood of PHP” Panel Discussion by Core PHP developers [T-9] Panelist: Rasmus Lerdorf Masaki Fujimoto Yasuo Ohgaki Moriyoshi Koizumi Masahiro Takagi Yoshio Hanawa Moderater: Rui Hirokawa
  • 2. Topics  PHPの好きなところ(気に入らないところ) What I like or doesn't like about PHP  PHP開発関連の最近のトピックス Recent topics in PHP internals Toward release of PHP.Next (5.4?) Annotation Strict (scalar) type hinting  PHPのこれから Future of PHP  Multibyte encoding support / i18n of PHP  Decision making in PHP development  Documentation quality  Q&A
  • 3. PHPの好きなところ、いまいちなところ Panelist: ラスマスさん Rasmus Lerdorf ふじもとさん Masaki Fujimoto 大垣さん  Yasuo Ohgaki もりよしさん Moriyoshi Koizumi 高木さん  Masahiro Takagi hnwさん Yoshio Hanawa  What I like or doesn't like about PHP
  • 4. 4.0 4.1 ・エンジン大幅強化/OOP:ZE1 ・PEAR 2000 2001 ・mbstring統合 ・性能改善 - 入力セキュリティ改善 4.2 ・自動グローバル変数のデフォルト無効化 ・mbregex ・zend-multibyte 2002 2003 2004 2005 2006 2007 2008 2009 4.3 ・CLI ・stream 4.4 `02/12 `02/4 `01/12 `00/5 `05/6 ・バグ修正 4.4.9 `08/8 5.0 `04/7 ・エンジン/OOP大幅強化:ZE2 ・XML対応強化(SimpleXML) ・Webサービス(SOAP) ・DB強化 (SQLite, MySQLi) 5.1 `05/11 ・実行速度改善 ・PDO 5.2 ・メモリ管理/速度改善 ・入力フィルタ `06/11 5.3 `09/6 2010 ・Namespace ・Closure ・late static binding ・GC improvement ・intl/phar/fileinfo ・MySQLnd Toward release of PHP.Next 5.4? ・Annotation ・Traits ・(Scalar Type hinting) - Speed Improvements - Improved memory usage - Removed legacy features - etc... - `10/3
  • 5. Recent topics in PHP internals(1) h Annotations : http://wiki.php.net/rfc/annotations - アノテーション:関連情報(メタデータ)を注釈として付与 - Java, .NET 等でサポート - コメントとは異なり、プログラム/パーサに作用 namespace AppAnnotation; class Link extends ReflectionAnnotation { public $url; public $target; } [AppAnnotationLink(url="http://www.php.net", target="_blank")] class PHPWebsite { /* ... */  }
  • 6. Recent topics in PHP internals(2) h http://wiki.php.net/rfc/typecheckingstrictonly - 関数/メソッドにおける厳密な型チェック: Strict Type Checking for Scalars <?php function show(float $v) { echo $v."n"; } for ($i=1;$i<10;$i++) { show($i/2); } ?> 0.5 Catchable fatal error: Argument 1 passed to show() must be of the type double, integer given, called in t1.php on line 6 and defined in t1.php on line 2
  • 7. Multibyte encoding support in PHPMultibyte encoding support in PHP Web Browser PHP script http_input http_output script_encoding internal_encoding file system (file system encoding) binary data sendmail mb_send_mail() mbstring. ignored data mb_convert_encoding() DB DB (connection based) zend_multibyte ZendEngine engine: libmbfl + oniguruma (regex)
  • 8. (declined) PHP6 Unicode support(declined) PHP6 Unicode support Web browser PHP script http_input_encoding output_encoding script_encoding runtime_encoding file system filesystem_encoding Unicode string binary string fallback_encoding stream stream_encoding UTF-16 cookie_encoding DB PDO (DB,Tab,Col) unicode. ignored engine:ICU
  • 9. Decision process forDecision process for PHP developmentPHP development Rasmus Lerdorf Andi Gutmans Andrei Zmievski CVS accounts >1500(15)CVS accounts >1500(15) Core >130(5) PHP Group:10 - ML: php.internals - RFC process: http://wiki.php.net/rfc
  • 10. Documentation qualityDocumentation quality Rasmus Lerdorf Andi Gutmans - PHPの普及は優れたドキュメントが大きく貢献 Documentation is so important for the popularity of PHP - 翻訳も含めて、ドキュメントの品質を改善するための  活動は?   How to improve the quality of documentation ? (including translation)