當前位置:首頁 » 編程語言 » xmlwriterphp

xmlwriterphp

發布時間: 2022-12-12 12:27:12

⑴ 求助 php 怎麼改寫 xml

php有很多操作xml的函數,你自己可以翻著看看。

⑵ var_mp 和 echo 輸出的內容完全是兩碼事

var_mp — 列印變數的相關信息
$b = 3.1;
var_mp($b);
輸出字元串:
float(3.1)
如果是echo與print
echo 3.1;
輸出字元串:
3.1

如果要更好的輸出xml,建議看看PHP手冊中的XMLWriter章節。另外,不什麼不嘗試json這種類型呢?xml傳遞相對比較過時了。

⑶ PHP的版本6設想

1、支持Unicode。Unicode是有其必然,雖然Unicode佔用較多的空間,但Unicode帶來的便利性,遠超過佔用空間的缺點,尤其在國際化的今天,硬體設備越來越強大,網速也大幅度的提升,這么一點小小的缺點是可以忽略的。另外一點,PHP也可以在.ini文件中設定能不能開啟支持Unicode,決定權在你自己,這是一個不錯的點子,關掉Unicode的支持,PHP的性能並不會有大幅度的提升,主要的影響在於需要引用字元串的函數。
2、Register Globals 將被移除這是一個主要的決定,老的PHP使用者會覺得Register Globals滿方便的,但是卻忽略了Register Globals會帶來程序上安全性的隱患,大多數的主機上此項功能是關閉的,印象中從PHP4.3.x版開始,此項默認配置值即是關閉狀態,PHP6正式移除Register Globals也代表著如果程序是PHP3時代的產物,將完全不能運用,除了改寫用途外,別無他法。
3、Magic Quotes 將取消Magic Quotes主要是自動轉義須要轉義的字元,此項功能移除也符合大多數PHP開發者的心聲。
4、Safe Mode 取消。老實說,這個模式不知道哪裡不好,取消就取消吧,反正也用不到。
5、』var』 別名為 『public』,在類中的var聲明變成public的別名,相信是為了兼容PHP5而作的決定,PHP6現在也可以稱作為OO語言了。
6、通過引用返回將出錯未來通過引用返回編譯器將會報錯 例如$a =& new b()、function &c(),OO語言默認就是引用,所以不須要再運用 &了。
7、zend.ze1 compatbility mode 將被移去(Zend.ze1相容模式將被移去),PHP5是為兼容舊有PHP4,所以在.ini中可選擇是否開啟相容模式,原由在於PHP5運用的是第二代分析引擎,但是相容模式並不是百分之百能分析 PHP4語法,所以舊時代的產物,移除。
8、Freetype 1 and GD 1 support 將不見這兩個Libs存在了很久,php6將不再支持,況且GD1早已被現在的GD2取代了。
9、dl() 被移到 SAPI 中dl()主要是讓設計師載入extension Libs,被移到 SAPI 中。
10、Register Long Array 去除 從PHP5起默認是關閉,在PHP6中正式移除。
11、一些Extension的變更例如 XMLReader 和 XMLWriter 將不再是以Extension的方式出現,他們將被移入到PHP的核心之中,並且默認是開啟,eregextension將被放入PECL,代表著它將被移出PHP核心,這也是為了讓路給新的正則表達式extension,此外,Fileinfo extension 也將被導入PHP的核心之中。
12、APC將被導入核心這是一個提高PHP性能的功能,它將被放入PHP核心中,並且可以選擇是否啟用APC。
13、告別ASP風格的起始標簽原來是為了取悅ASP開發者轉向運用 PHP,現今已經不再須要這種做法了。
最後,別期望PHP6的性能可以徹底超過PHP5,有可能PHP6的執行效率會比PHP5還要來得慢,但是可以預期的是,PHP開發小組將會努力的完善PHP6,超越PHP5。

⑷ PHP語言有更新過嗎

PHP是一種新型的CGI程序編寫語言,易學易用,運行速度快,可以方便快捷地編寫出功能強大,運行速度快,並可同時運行於 Windows、Unix、linux平台的Web後台程序,內置了對文件上傳、密碼認證、Cookies操作、郵件收發、動態GIF生成等功能,PHP 直接為很多資料庫提供原本的連接,包括Oracle、Sybase、Postgres、Mysql、Informix、Dbase、Solid、 Access等,完全支持ODBC介面,用戶更換平台時,無需變換PHP代碼,可即拿即用. Version 5.2.5 08-November-2007 * Security Fixes o Fixed dl() to only accept filenames. reported by Laurent Gaffie. o Fixed dl() to limit argument size to MAXPATHLEN (CVE-2007-4887). o Fixed htmlentities/htmlspecialchars not to accept partial multibyte sequences. o Fixed possible triggering of buffer overflows inside glibc implementations of the fnmatch(), setlocale() and glob() functions. Reported by Laurent Gaffie. o Fixed "mail.force_extra_parameters" php.ini directive not to be modifiable in .htaccess e to the security implications reported by SecurityReason. o Fixed bug #42869 (automatic session id insertion adds sessions id to non-local forms). o Fixed bug #41561 (Values set with php_admin_* in httpd.conf can be overwritten with ini_set()). * Upgraded PCRE to version 7.3 (Nuno) * Added optional parameter $provide_object to debug_backtrace(). (Sebastian) * Added alpha support for imagefilter() IMG_FILTER_COLORIZE. (Pierre) * Added ability to control memory consumption between request using ZEND_MM_COMPACT environment variable. (Dmitry) * Improved speed of array_intersect_key(), array_intersect_assoc(), array_uintersect_assoc(), array_diff_key(), array_diff_assoc() and array_udiff_assoc(). (Dmitry) * Fixed move_uploaded_file() to always set file permissions of resulting file according to UMASK. (Andrew Sitnikov) * Fixed possible crash in ext/soap because of uninitialized value. (Zdash Urf) * Fixed regression in glob() when enforcing safe_mode/open_basedir checks on paths containing '*'. (Ilia) * Fixed PDO crash when driver returns empty LOB stream. (Stas) * Fixed iconv_*() functions to limit argument sizes as workaround to libc bug (CVE-2007-4783, CVE-2007-4840 by Laurent Gaffie). (Christian Hoffmann, Stas) * Fixed missing brackets leading to build warning and error in the log. Win32 code. (Andrey) * Fixed leaks with multiple connects on one mysqli object. (Andrey) * Fixed endianness detection on MacOS when building universal binary. (Uwe Schindler, Christian Speich, Tony) * Fixed imagerectangle regression with 1x1 rectangle (libgd #106). (Pierre) * Fixed bug #43196 (array_intersect_assoc() crashes with non-array input). (Jani) * Fixed bug #43139 (PDO ignores ATTR_DEFAULT_FETCH_MODE in some cases with fetchAll()). (Ilia) * Fixed bug #43137 (rmdir() and rename() do not clear statcache). (Jani) * Fixed bug #43130 (Bound parameters cannot have - in their name). (Ilia) * Fixed bug #43099 (XMLWriter::endElement() does not check # of params). (Ilia) * Fixed bug #43020 (Warning message is missing with shuffle() and more than one argument). (Scott) * Fixed bug #42976 (Crash when constructor for newInstance() or newInstanceArgs() fails) (Ilia) * Fixed bug #42943 (ext/mssql: Move *timeout initialization from RINIT to connect time). (Ilia) * Fixed bug #42917 (PDO::FETCH_KEY_PAIR doesn't work with setFetchMode). (Ilia) * Fixed bug #42890 (Constant "LIST" defined by mysqlclient and c-client). (Andrey) * Fixed bug #42818 ($foo = clone(array()); leaks memory). (Dmitry) * Fixed bug #42817 (clone() on a non-object does not result in a fatal error). (Ilia) * Fixed bug #42785 (json_encode() formats doubles according to locale rather then following standard syntax). (Ilia) * Fixed bug #42783 (pg_insert() does not accept an empty list for insertion). (Ilia) * Fixed bug #42773 (WSDL error causes HTTP 500 Response). (Dmitry) * Fixed bug #42772 (Storing $this in a static var fails while handling a cast to string). (Dmitry) * Fixed bug #42767 (highlight_string() truncates trailing comment). (Ilia) * Fixed bug #42739 (mkdir() doesn't like a trailing slash when safe_mode is enabled). (Ilia) * Fixed bug #42703 (Exception raised in an iterator::current() causes segfault in FilterIterator) (Marcus) * Fixed bug #42699 (PHP_SELF plicates path). (Dmitry) * Fixed bug #42654 (RecursiveIteratorIterator modifies only part of leaves) (Marcus) * Fixed bug #42643 (CLI segfaults if using ATTR_PERSISTENT). (Ilia) * Fixed bug #42637 (SoapFault : Only http and https are allowed). (Bill Moran) * Fixed bug #42629 (Dynamically loaded PHP extensions need symbols exported on MacOSX). (jdolecek at NetBSD dot org) * Fixed bug #42627 (bz2 extension fails to build with -fno-common). (dolecek at netbsd dot org) * Fixed bug #42596 (session.save_path MODE option does not work). (Ilia) * Fixed bug #42590 (Make the engine recognize \v and \f escape sequences). (Ilia) * Fixed bug #42587 (behavior change regarding symlinked .php files). (Dmitry) * Fixed bug #42579 (apache_reset_timeout() does not exist). (Jani) * Fixed bug #42549 (ext/mysql failed to compile with libmysql 3.23). (Scott) * Fixed bug #42523 (PHP_SELF plicates path). (Dmitry) * Fixed bug #42512 (ip2long('255.255.255.255') should return 4294967295 on 64-bit PHP). (Derick) * Fixed bug #42506 (php_pgsql_convert() timezone parse bug) (nonunnet at gmail dot com, Ilia) * Fixed bug #42462 (Segmentation when trying to set an attribute in a DOMElement). (Rob) * Fixed bug #42453 (CGI SAPI does not shut down cleanly with -i/-m/-v cmdline options). (Dmitry) * Fixed bug #42452 (PDO classes do not expose Reflection API information). (Hannes) * Fixed bug #42468 (Write lock on file_get_contents fails when using a compression stream). (Ilia) * Fixed bug #42488 (SoapServer reports an encoding error and the error itself breaks). (Dmitry) * Fixed bug #42378 (mysqli_stmt_bind_result memory exhaustion). (Andrey) * Fixed bug #42359 (xsd:list type not parsed). (Dmitry) * Fixed bug #42326 (SoapServer crash). (Dmitry) * Fixed bug #42214 (SoapServer sends clients internal PHP errors). (Dmitry) * Fixed bug #42189 (xmlrpc_set_type() crashes php on invalid datetime values). (Ilia) * Fixed bug #42139 (XMLReader option constants are broken using XML()). (Rob) * Fixed bug #42086 (SoapServer return Procere '' not present for WSIBasic compliant wsdl). (Dmitry) * Fixed bug #41822 (Relative includes broken when getcwd() fails). (Ab5602, Jani) * Fixed bug #39651 (proc_open() append mode doesn't work on windows). (Nuno 以上 是 找來的 就我而言 目前來說 完善的更新還 沒出 但一直在討論階段 以上 只代表個人觀點

⑸ 該函數需要 PHP 支持 XML,這該如何處理

  • php5-xml-5.3.3_2 The xml shared extension for php

  • php5-xmlreader-5.3.3_2 The xmlreader shared extension for php

  • php5-xmlwriter-5.3.3_2 The xmlwriter shared extension for php

⑹ zabbix安裝成功後,訪問頁面,在check of pre-requisites通不過,不知道如何去修改以讓其進入下一步

這里是zabbix檢查php對他的前端是否支持,你按教程把php參數設置好了,但你的php應該是部分模塊沒有開啟,獲取乾脆沒有安裝這些模塊,所有才無法通過
PHP databases support
PHP bcmath
PHP mbstring
PHP sockets
PHP gd JPEG support
PHP gd FreeType support
你或許應該嘗試開啟或安裝這些模塊
查看phpinfo()確定你是否有這些模塊吧

⑺ Docker PHP 安裝擴展匯總

FROM php:7.2-fpm

Core, ctype, curl
date, dom
fileinfo, filter, ftp
hash
iconv
json
libxml
mbstring, mysqlnd
openssl
pcre, PDO, pdo_sqlite, Phar, posix
readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard
tokenizer
xml, xmlreader, xmlwriter
zlib

RUN docker-php-ext-install -j$(nproc) bcmath calendar exif gettext
sockets dba mysqli pcntl pdo_mysql shmop sysvmsg sysvsem sysvshm

RUN apt-get update &&
apt-get install -y --no-install-recommends libbz2-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) bz2

RUN apt-get update &&
apt-get install -y --no-install-recommends libenchant-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) enchant

RUN apt-get update &&
apt-get install -y --no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ &&
docker-php-ext-install -j$(nproc) gd

RUN apt-get update &&
apt-get install -y --no-install-recommends libgmp-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) gmp

RUN apt-get update &&
apt-get install -y --no-install-recommends libxml2-dev libtidy-dev libxslt1-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) soap wddx xmlrpc tidy xsl

RUN apt-get update &&
apt-get install -y --no-install-recommends libzip-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) zip

RUN apt-get update &&
apt-get install -y --no-install-recommends libsnmp-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) snmp

RUN apt-get update &&
apt-get install -y --no-install-recommends libpq-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) pgsql pdo_pgsql

RUN apt-get update &&
apt-get install -y --no-install-recommends libpspell-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) pspell

RUN apt-get update &&
apt-get install -y --no-install-recommends librecode-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) recode

RUN apt-get update &&
apt-get install -y --no-install-recommends firebird-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) pdo_firebird

RUN apt-get update &&
apt-get install -y --no-install-recommends freetds-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-configure pdo_dblib --with-libdir=lib/x86_64-linux-gnu &&
docker-php-ext-install -j$(nproc) pdo_dblib

RUN apt-get update &&
apt-get install -y --no-install-recommends libldap2-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu &&
docker-php-ext-install -j$(nproc) ldap

RUN apt-get update &&
apt-get install -y --no-install-recommends libc-client-dev libkrb5-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-configure imap --with-kerberos --with-imap-ssl &&
docker-php-ext-install -j$(nproc) imap

RUN apt-get update &&
apt-get install -y --no-install-recommends firebird-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) interbase

RUN apt-get update &&
apt-get install -y --no-install-recommends libicu-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) intl

RUN apt-get update && \
apt-get install -y --no-install-recommends libmcrypt-dev &&
rm -r /var/lib/apt/lists/* &&
pecl install mcrypt-1.0.1 &&
docker-php-ext-enable mcrypt

RUN export CFLAGS=" PHP_CPPFLAGS" LDFLAGS="$PHP_LDFLAGS" &&
apt-get update &&
apt-get install -y --no-install-recommends libmagickwand-dev &&
rm -rf /var/lib/apt/lists/* &&
pecl install imagick-3.4.3 &&
docker-php-ext-enable imagick

RUN apt-get update && \
apt-get install -y --no-install-recommends zlib1g-dev libmemcached-dev &&
rm -r /var/lib/apt/lists/* &&
pecl install memcached &&
docker-php-ext-enable memcached

RUN pecl install redis-4.0.1 && docker-php-ext-enable redis

RUN docker-php-ext-configure opcache --enable-opcache && docker-php-ext-install opcache

RUN set -ex;
docker-php-source extract;
{
echo '# https://github.com/docker-library/php/issues/103#issuecomment-271413933' ;
echo 'AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl';
echo;
cat /usr/src/php/ext/odbc/config.m4;
} > temp.m4;
mv temp.m4 /usr/src/php/ext/odbc/config.m4;
apt-get update;
apt-get install -y --no-install-recommends unixodbc-dev;
rm -rf /var/lib/apt/lists/*;
docker-php-ext-configure odbc --with-unixODBC=shared,/usr;
docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr;
docker-php-ext-install odbc pdo_odbc;
docker-php-source delete

LABEL Author="Leo"
LABEL Version="1.0.25-fpm"
LABEL Description="PHP FPM 7.2 鏡像. All extensions."

⑻ 如何在php文件里寫xml

php文件里寫xml方法:

1、Xml代碼


<?php
$data_array=array(
array(
'title'=>'title1',
'content'=>'content1',
'pubdate'=>'2009-10-11',
),
array(
'title'=>'title2',
'content'=>'content2',
'pubdate'=>'2009-11-11',
)
);
//屬性數組
$attribute_array=array(
'title'=>array(
'size'=>1
)
);
$string=<<<XML
<?xmlversion='1.0'encoding='utf-8'?>
<article>
</article>
XML;
$xml=simplexml_load_string($string);
foreach($data_arrayas$data){
$item=$xml->addChild('item');
if(is_array($data)){
foreach($dataas$key=>$row){
$node=$item->addChild($key,$row);
if(isset($attribute_array[$key])&&is_array($attribute_array[$key]))
{
foreach($attribute_array[$key]as$akey=>$aval){
//設置屬性值
$node->addAttribute($akey,$aval);
}
}
}
}
}
echo$xml->asXML();
?>

⑼ 啊Linux上PHP運行出錯class XMLWriter'not found怎麼解決

要安裝xmlwriter的庫以及php的xmlwriter模塊
具體搜索linux(最好是你系統的名稱) php install xmlwriter
如果你的php是編譯安裝的話,看看是不是編譯的時候禁用了xmlwriter?

⑽ php是什麼

PHP(PHP:Hypertext Prerocessor)是一種在電腦上執行的腳本語言,主要是用途在於處理動態網頁,也包含了命令行執行介面(command line interface),或者產生圖形使用者介面(GUI)程序。[1]

PHP 最早由 Rasmus Lerdorf 在1995年發明,現在PHP實質上的標准由PHP Group和開放源代碼社群維護。PHP 以 PHP License 作為許可協議,不過因為這個協議限制了PHP名稱的使用,所以和開放源代碼許可協議GPL不相容。[2]

PHP 目前被廣泛的應用,特別是在伺服器端的網頁程序開發。一般來說 PHP 大多執行在網頁伺服器上,透過執行PHP程序碼來產生使用者瀏覽的網頁。PHP 幾乎可以在任何的操作系統上執行,而且使用 PHP 完全是免費的。根據2007年4月的統計資料,PHP 已經被安裝在超過2000萬個網站和100萬台伺服器上[3]。

目錄 [隱藏]
1 開發歷史
1.1 版本歷程
2 應用
3 語法
3.1 類型
3.2 變數
3.3 面向對象
4 PHP相關資源
4.1 函數庫
4.2 源代碼編碼和加速
4.3 樣板引擎
5 未來發展
5.1 PHP 5.3
6 參考資料
7 外部鏈接

[編輯] 開發歷史

PHP 的發明人 Rasmus Lerdorf
Zend Technologies的創辦人之一 - Andi GutmansFile:Zeev Suraski.jpg
Zend Technologies的創辦人之一 - Zeev SuraskiPHP 原本的簡稱為 Personal Home Page[4],是Rasmus Lerdorf 為了要維護個人網頁,而用c語言開發的一些CGI工具程序集,來取代原先使用的 Perl 程序。最初這些工具程序用來顯示 Rasmus Lerdorf 的個人履歷,以及統計網頁流量[5]。他將這些程序和一些表單直譯器整合起來,稱為 PHP/FI。PHP/FI 可以和資料庫連接,產生簡單的動態網頁程序。Rasmus Lerdorf 在1995年6月8日將 PHP/FI 公開釋出,希望可以透過社群來加速程序開發與尋找錯誤[6]。這個釋出的版本命名為 PHP 2,已經有今日 PHP 的一些雛型,像是類似 Perl 的變數命名方式、表單處理功能、以及嵌入到 HTML 中執行的能力。程序語法上也類似 Perl,有較多的限制,不過更簡單、更有彈性。[5]

在1997年,任職於 Technion IIT 公司的兩個以色列程序設計師:Zeev Suraski 和 Andi Gutmans,重寫了 PHP 的剖析器,成為 PHP 3 的基礎,而 PHP 也在這個時候改稱為PHP: Hypertext Preprocessor.[5]。經過幾個月測試,開發團隊在1997年11月釋出了 PHP/FI 2,隨後就開始 PHP 3 的開放測試,最後在1998年6月正式釋出 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 釋出後開始改寫 PHP 的核心,這個在1999年釋出的剖析器稱為 Zend Engine[7],他們也在以色列的 Ramat Gan 成立了 Zend Technologies 來管理 PHP 的開發。[5]

在2000年5月22日,以Zend Engine 1.0為基礎的PHP 4正式釋出,2004年7月13日則釋出了PHP 5,PHP 5則使用了第二代的Zend Engine[5]。PHP包含了許多新特色,像是強化的面向對象功能、引入PDO(PHP Data Objects,一個存取資料庫的延伸函數庫)、以及許多效能上的增強[8]。目前PHP 4已經不會繼續更新,以鼓勵用戶轉移到PHP 5。[9][10]

2008年PHP 5成為了PHP唯一的有在開發的PHP版本。將來的PHP 5.3將會加入Late static binding和一些其他的功能強化[11][12] 。PHP 6 的開發也正在進行中,主要的改進有移除register_globals[13]、magic quotes 和 Safe mode的功能。[9][14]

[編輯] 版本歷程
代表意義
紅色 舊版;官方停止支持
黃色 舊版;官方維護中
綠色 目前版本
藍色 未來版本
主要版本 次要版本 釋出日期 說明
1.0 1.0.0 1995年6月8日 正式名稱為"Personal Home Page Tools (PHP Tools)",第一次使用了"PHP"的名字。[5]
2.0 2.0.0 1994年4月16日 針對PHP 1.0的改進版,速度更快、體積更小,更容易產生動態網頁。[5]
3.0 3.0.0 1998年6月6日 開發方式改成多人共同參與。Zeev Suraski 和 Andi Gutmans 為了這個版本重寫了剖析引擎。[5]
4.0 4.0.0 2000年5月22日 改成以Zend引擎作為剖析器,具有兩階段剖析/標簽剖析系統等先進功能。[15]
4.1.0 2001年12月10日 加入"超全域變數"(superglobals)功能,包含了$_GET、$_POST、 $_SESSION等[15]
4.2.0 2002年4月22日 默認取消register_globals功能。從網路接收的資料將不會設定成全域變數,增加程序安全性[15]。
4.3.0 2002年12月27日 加入命令行執行檔,稱為CLI。[15]
4.4.0 2005年7月11日 Added man pages for phpize and php-config scripts.[15]
4.4.8 2008年1月3日 Several security enhancements and bug fixes. Was to be the end of life release for PHP 4. Security updates only until 2008-08-08, if necessary.[16]
4.4.9 2008年8月7日 More security enhancements and bug fixes. The last release of the PHP 4.4 series.[17][18]
5.0 5.0.0 2004年7月13日 Zend Engine II with a new object model.[19]
5.1.0 2005年11月24日 Performance improvements with introction of compiler variables in re-engineered PHP Engine.[19]
5.2.0 2006年11月2日 Enabled the filter extension by default.[19]
5.2.8 2008年12月8日[20] emergent bug fix[20]
5.2.9 2009年2月26日[21] 這個版本解決了5.2.*的超過了50多個錯誤和多個安全問題,增加了穩定性。[21]
5.2.9-2(Windows) 2009年3月10日[22] 這個版本解決了在Windows系統下OpenSSL的安全缺陷,與其綁定的OpenSSL版本升級到0.9.8k。[22]
5.3.0 預計2009年第二季[23] 支持命名空間; 使用XMLReader和XMLWriter增強XML支持; 支持SOAP ,[24] 延遲靜態綁定, 跳轉標簽(有限的 goto), 閉包,Native PHP archives
6.0 6.0.0 ??? 支持Unicode; 移除ereg擴展, 'register_globals', 'magic_quotes' 和 'safe_mode'; Alternative PHP Cache;Removal of mime_magic and rewrite of fileinfo() for better MIME support[25]

[編輯] 應用
PHP 是一個應用范圍很廣的語言,特別是在網路程序開發方面。一般來說 PHP 大多在伺服器端執行,透過執行 PHP 的程序碼來產生網頁提供瀏覽器讀取,此外也可以用來開發命令行腳本程序和使用者端的GUI應用程序。PHP可以在許多的不同種的伺服器、操作系統、平台上執行,也可以和許多資料庫系統結合。使用 PHP 不需要任何費用,官方組織 PHP Group 提供了完整的程序源代碼,允許使用者修改、編譯、擴充來使用。[26]

[編輯] 語法
PHP的語法參考了Perl、C語言,而且可以整合在HTML之中,以下是一個簡單的Hello World程序:

<?php
echo 'Hello World!';
?>
PHP剖析引擎只剖析<?php到?>之間的程序碼,而不包含在<?php到?>之間的內容則會直接送出,所以可以用以下的方式來將PHP程序碼嵌入在HTML之中:

<?php
//-PHP程式碼
?>
html內容
<?php
//-PHP程式碼
?>
但是在判斷語句中的HTML代碼並不會被直接送出:

<?php
if (false) {
?>
HTML Code
<?php
}
?>
PHP可以用三種註解的形式:C與C++所使用的「/*...*/」與「//」,和Perl的「#」。

[編輯] 類型
PHP主要有以下四種變數類型:

整數 (integer)
浮點數 (float)
布爾數 (boolean)
字串 (string)
兩種復合類型:

陣列 (array)
物件 (object)
兩種特殊類型

NULL
資源 (resource)[27]

[編輯] 變數
PHP中,變數以「$」後接變數名稱來表示。變數名稱區分大小寫。有效的變數名稱以字母或底線開頭,後接任意數目的字母、數字或底線。[28]

[編輯] 面向對象
PHP從PHP 3開始有了基本的面向對象的特性,但直到PHP 5將面向對象部份重新改寫之後,PHP的面向對象功能才比較完善。現在PHP可以說是一個有完整面向對象功能的語言。

[編輯] PHP相關資源

[編輯] 函數庫
主條目:PHP函數庫列表
內建多樣化的函數是PHP主要的特點之一,這些開放程序碼的函數提供了各種不同的功能,例如檔案處理、FTP、字串處理、等等。這些函數的使用方法和C語言相近(例如printf),這也是PHP廣為流行的原因之一。

除了內建的函數之外,PHP也提供了很多延伸函數庫(extension),像是各種資料庫連接函數、資料壓縮函數、圖形處理等等。有些延伸函數庫需要從PECL(PHP Extension Community Library)取得。

[編輯] 源代碼編碼和加速
PHP源代碼是可以直接讀取的,即使放到伺服器上執行也是一樣。雖然讓PHP多了彈性,但相對的會造成安全危機和性能下降的問題。

透過PHP編碼器,可以保護PHP的源代碼不被讀取(對商業軟體來說特別有需求),也可以提升執行的效能。有許多公司或團體開發PHP的編碼器,將PHP程序編譯成位元組碼(byte code),再透過伺服器上安裝對應的程序來執行PHP腳本。

除了透過編碼器加速之外,PHP還可以透過動態的快取機制來提升速度,加速工具有商業版的,例如Zend Platform,也有開放源代碼的加速軟體如eAccelerator、APC、XCache。

[編輯] 樣板引擎
樣板引擎讓PHP應用程序可以做邏輯和使用介面上的分離,讓程序開發更容易進行,目前比較受歡迎的樣板引擎是PHP官方開發的Smarty。不過樣板引擎有效能上的爭議,因為PHP本身就是一個樣板引擎,使用樣板引擎反而變成「重新發明了輪子」(reinventing the wheel)。樣板引擎最主要的好處就是讓不懂PHP程序碼的人也可以參與使用介面的開發,因為樣板引擎的語言遠比PHP簡單。

[編輯] 未來發展

[編輯] PHP 5.3
命名空間(namespaces)原本預計在PHP 6提供支持,現在可能改至PHP 5.3就支持[29

熱點內容
ibatissqlnotin 發布:2025-01-22 14:42:25 瀏覽:326
java電子書軟體下載 發布:2025-01-22 14:41:41 瀏覽:729
tomcat遠程訪問 發布:2025-01-22 14:41:33 瀏覽:960
a演算法解決八數碼問題 發布:2025-01-22 14:32:39 瀏覽:273
python編譯exe 發布:2025-01-22 14:31:11 瀏覽:451
現在密碼箱多少錢 發布:2025-01-22 14:30:26 瀏覽:970
aspnet訪問access 發布:2025-01-22 14:14:15 瀏覽:924
鴻蒙系統和安卓的哪個耗電 發布:2025-01-22 14:12:46 瀏覽:577
上海大眾壓縮機 發布:2025-01-22 14:02:31 瀏覽:48
讀取excel的sql 發布:2025-01-22 13:59:58 瀏覽:865