残り一年! PHP4からPHP5への移行

第4回 モジュール関連の違い

この記事を読むのに必要な時間:およそ 4 分

SXLT変換

XSLTサポートモジュールはPHP4とPHP5では大きく変更されています。PHP4のXSLTサポートモジュール(XSLT)はSablotronライブラリを利用していますが,PHP5のXSLTサポートモジュールのXSLモジュールはlibxlstライブラリを利用しています。

PHP4のXSLTモジュールのAPIは関数で提供されいます。PHP5ではオブジェクト指向プログラミングサポートの向上の一環としてXSLモジュールのAPIはクラスとして提供しています。ベースとなっているライブラリも異なりAPIも異なっているので,互換性は全くありません。XSLTを利用されている場合はコードの大幅な書き換えが必要です。

XSLTモジュール(PHP4)

関数機能
xslt_backend_infoReturns the information on the compilation settings of the backend
xslt_backend_nameReturns the name of the backend
xslt_backend_versionReturns the version number of Sablotron
xslt_createCreate a new XSLT processor
xslt_errnoReturns an error number
xslt_errorReturns an error string
xslt_freeFree XSLT processor
xslt_getoptGet options on a given xsl processor
xslt_processPerform an XSLT transformation
xslt_set_baseSet the base URI for all XSLT transformations
xslt_set_encodingSet the encoding for the parsing of XML documents
xslt_set_error_handlerSet an error handler for a XSLT processor
xslt_set_logSet the log file to write log messages to
xslt_set_objectSets the object in which to resolve callback functions
xslt_set_sax_handlerSet SAX handlers for a XSLT processor
xslt_set_sax_handlersSet the SAX handlers to be called when the XML document gets processed
xslt_set_scheme_handlerSet Scheme handlers for a XSLT processor
xslt_set_scheme_handlersSet the scheme handlers for the XSLT processor

出典:PHPマニュアル

XSLモジュール(PHP5)

関数機能
XSLTProcessor->__construct()Creates a new XSLTProcessor object
XSLTProcessor->getParameter()Get value of a parameter
XSLTProcessor->hasExsltSupport()Determine if PHP has EXSLT support
XSLTProcessor->importStylesheet()Import stylesheet
XSLTProcessor->registerPHPFunctions()Enables the ability to use PHP functions as XSLT functions
XSLTProcessor->removeParameter()Remove parameter
XSLTProcessor->setParameter()Set value for a parameter
XSLTProcessor->transformToDoc()Transform to a DOMDocument
XSLTProcessor->transformToURI()Transform to URI
XSLTProcessor->transformToXML()Transform to XML

出典:PHPマニュアル

PHP本体に付属するモジュール違いのまとめ

PHP5のモジュールはPHP4のモジュールとかなり異なっています。PECLに移動したモジュールなどが多くあります。次の表はPHP4からPHP5のモジュールの違いのまとめた表になります。モジュール名はPHPマニュアルと同じ表記ではなく,モジュールのディレクトリ名を利用しました。これはComと.Net関数のように内部的には全く別のモジュールを利用しインターフェースも異なる場合でも,マニュアルでは同じページで記載されているからです。

PHP5で削除またはPECLに移動したモジュール

モジュール移動先
comCOM dotnetが代替モジュール
cpdfCPDF PECLへ移動
crackCrack PECLへ移動
cyrusCyrus PECLへ移動
dbDb PECLへ移動
dbxDbx PECLへ移動
dioDIO PECLへ移動
domxmlDOMXML PHP5では動作しない
fileproFilePro PECLへ移動
fribidiFribidi PECLへ移動
hwapiHyperwave API PECLへ移動
hyperwareHyperware PECLへ移動
infomixInformix PECLへ移動
ingres_iiIngress II PECLへ移動
ircgIRC Gateway PECLへ移動
javaJava 代替モジュールなし
mcalMCAL 代替モジュールなし
mcveMCVE PECLへ移動
mnogosearchmnoGoSearch PECLへ移動
msessionMohawk Software Session Handler PECLへ移動
notesLotus Notes PECLへ移動
oracleOracle oci8が代替モジュール
overload機能がPHP5本体に吸収されました
pdfPDF PECLへ移動
pfproVerisign Payflow Pro PECLへ移動
qtdomQt DOM PECLへ移動
swfShackwave Flash PECLへ移動
w32apiW32api PECLへ移動
xsltXSLが代替モジュール
yazYAZ PECLへ移動
ypYP/NIS PECLへ移動

PHP5から追加されたモジュール

モジュール機能
dotnet.NET COMモジュールの代替
domDOM DOMXMLモジュールの代替
filterFilter
hashHash
jsonJSON
libxmlLibXML
mysqliMySQL Improved
pdoPHP Data Object
reflectionReflection API
simplexmlSimpleXML
soapSOAP
splStandard PHP Library
sqliteSQLite
tidyTidy
xmlreaderXML Reader
xmlwriterXML Writer
xslxlstの代替モジュール

著者プロフィール

大垣靖男(おおがきやすお)

University of Denver卒。同校にてコンピュータサイエンスとビジネスを学ぶ。株式会社シーエーシーを経て,エレクトロニック・サービス・イニシアチブ有限会社を設立。
オープンソース製品は比較的古くから利用し,Linuxは0.9xのころから利用している。オープンソースシステム開発への参加はエレクトロニック・サービス・イニシアチブ設立後から。PHPプロジェクトでは,PostgreSQLモジュールのメンテナンスを担当している。

URLhttp://blog.ohgaki.net/

著書