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
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)