PHP 5.3.0 で追加された拡張モジュール・クラス・関数など
少し前に PHP 5.3.0 が公開されましたので、追加された拡張モジュールやクラス、関数などを調べてみました。比較対象は PHP 5.2.10 です。
PHP 5.2.10、PHP 5.3.0 の両方とも、以下のオプションでコンパイルしました。
./configure \ --with-apxs=/usr/local/apache/bin/apxs \ --enable-mbstring \ --enable-pcntl \ --with-openssl \ --with-readline \ --with-xsl \ --with-zlib
PHP 5.3.0 で追加された拡張モジュール
この環境での拡張モジュールの差分は以下の通りです。左が PHP 5.2.10 の一覧、右が PHP 5.3.0 の一覧です。追加された拡張モジュールには ">" が付いています。
$ php-5.2.10 -m > php-5.2.10-m.txt && php-5.3.0 -m > php-5.3.0-m.txt $ diff -y -W 60 php-5.2.10-m.txt php-5.3.0-m.txt [PHP Modules] [PHP Modules] > Core ctype ctype date date dom dom > ereg > fileinfo filter filter hash hash iconv iconv json json libxml libxml mbstring mbstring openssl openssl pcntl pcntl pcre pcre PDO PDO pdo_sqlite pdo_sqlite > Phar posix posix readline readline Reflection Reflection session session SimpleXML SimpleXML SPL SPL SQLite SQLite > sqlite3 standard standard tokenizer tokenizer xml xml xmlreader xmlreader xmlwriter xmlwriter xsl xsl zlib zlib [Zend Modules] [Zend Modules]
Core と ereg は追加されたというより、分離されたという方が正しいかもしれません。実際に追加されたのは、fileinfo, Phar, sqlite3 です。
PHP 5.3.0 で追加されたクラス
上記の環境で、PHP 5.3.0 で追加されたクラスは以下の通りです。get_declared_classes() の結果を比較しました。
- Closure(無名関数)
- DateInterval
- DatePeriod
- FilesystemIterator
- GlobIterator
- MultipleIterator
- Phar
- PharData
- PharException
- PharFileInfo
- RecursiveTreeIterator
- SQLite3
- SQLite3Result
- SQLite3Stmt
- SplDoublyLinkedList
- SplFixedArray
- SplHeap
- SplMaxHeap
- SplMinHeap
- SplPriorityQueue
- SplQueue
- SplStack
- finfo
現時点(2009.07.12)では、Closure クラスと RecursiveTreeIterator クラスについて、PHP マニュアルに説明がありませんでした。
PHP 5.3.0 で追加された関数
同様の環境で、PHP 5.3.0 で追加された関数は以下の通りです。get_defined_functions() の結果を比較しました。
- array_replace
- array_replace_recursive
- class_alias
- date_add
- date_create_from_format
- date_diff
- date_get_last_errors
- date_interval_create_from_date_string
- date_interval_format
- date_parse_from_format
- date_sub
- date_timestamp_get
- date_timestamp_set
- finfo_buffer
- finfo_close
- finfo_file
- finfo_open
- finfo_set_flags
- forward_static_call
- forward_static_call_array
- gc_collect_cycles
- gc_disable
- gc_enable
- gc_enabled
- get_called_class
- gethostname
- hash_copy
- header_remove
- json_last_error
- lcfirst
- libxml_disable_entity_loader
- mb_encoding_aliases
- openssl_decrypt
- openssl_dh_compute_key
- openssl_digest
- openssl_encrypt
- openssl_get_cipher_methods
- openssl_get_md_methods
- openssl_random_pseudo_bytes
- parse_ini_string
- pcntl_signal_dispatch
- pcntl_sigprocmask
- pcntl_sigtimedwait
- pcntl_sigwaitinfo
- preg_filter
- quoted_printable_encode
- str_getcsv
- stream_context_get_params
- stream_context_set_default
- stream_supports_lock
- timezone_location_get
- timezone_version_get
現時点(2009.07.12)では、mb_encoding_aliases() の説明は PHP マニュアルにはありませんでした。