Created
January 6, 2015 09:56
-
-
Save royopa/095038464351dc38963d to your computer and use it in GitHub Desktop.
appendices/migration53.xml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<!-- EN-Revision: 331031 Maintainer: rogerioprado Status: wip --><!-- CREDITS: milhomem --> | |
<appendix xml:id="migration53" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> | |
<title>Migrando do PHP 5.2.x para o PHP 5.3.x</title> | |
<simpara> | |
&manual.migration.seealso; | |
<link linkend="migration5">5.0.x</link>, | |
<link linkend="migration51">5.1.x</link>, | |
<link linkend="migration52">5.2.x</link>, | |
<link linkend="migration54">5.4.x</link> e | |
<link linkend="migration55">5.5.x</link>. | |
</simpara> | |
<section xml:id="migration53.changes"> | |
<title>O que mudou no PHP 5.3.x</title> | |
<simpara> | |
A maior parte das melhorias feitas no PHP 5.3.x não causam impacto em um código anterior. | |
Existem <link linkend="migration53.incompatible">algumas incompatibilidades</link> | |
e <link linkend="migration53.new-features">novos recursos</link> que devem ser considerados, | |
e o código deve ser testado antes de trocar uma | |
versão do PHP em ambientes de produrção. | |
</simpara> | |
<simpara> | |
Para sistemas atulizados de uma versão anterior do PHP, a documentação relevante | |
estã disponível em: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<link linkend="migration52">Notas de atualização do PHP 5.2.x</link>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="migration51">Notas de atualização do PHP 5.1.x</link>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="migration5">Migrando do PHP 4 para o PHP 5</link>. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.incompatible"> | |
<title>Mudanças incompatíveis com versões anteriores</title> | |
<simpara> | |
Embora a moir parte do código PHP 5 existente deva funcionar sem nenhuma alteração, por favor esteja ciente de | |
que existem algumas mudanças incompatíveis: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
A nova API interna de compilação de parametro foi aplicada em todas as extensões | |
embarcadas com o PHP 5.3.x. Esta API de compilação de parametro faz com | |
que as funções retornem &null; quando parametros incompatíveis | |
são enviados. Existem algumas exceções a esta regra, como a função <function>get_class</function>, | |
que continua retornando &false; para errors. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>clearstatcache</function> não limpa mais o cache do realpath | |
por padão. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>realpath</function> agora é totalmente indepentende da plataforma. | |
A consequência disto é que caminhos relativos inválidos como | |
<literal>__FILE__ . "/../x"</literal> não vão mais funcionar. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
A família de funções do <function>call_user_func</function> agora propagam | |
<literal>$this</literal> mesmo que o invocador seja uma classe pai. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
As funções para array <function>natsort</function>, | |
<function>natcasesort</function>, <function>usort</function>, | |
<function>uasort</function>, <function>uksort</function>, | |
<function>array_flip</function>, e <function>array_unique</function> | |
não aceitam mais objetos enviados como argumentos. Para continuar enviando | |
objetos, primeiro converta o objeto para um array. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
O comportamento de funções com parametros por referência mas chamadas pelo valor mudou. Onde antes a função | |
aceitaria um argumento pelo valor, | |
um erro falta é emitido. Qualquer código anterior passando constantes ou | |
literais para funções esperando referências, devem ser alterados para associar | |
o valor a uma variável antes de chamar a função. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
A nova biblioteca do mysqlnd precisa precisa do novo formato de senhas do MySQL 4.1 com 41 bytes. | |
O uso do antigo formato de 16 bytes faz com que o | |
<function>mysql_connect</function> e funções similares emitam o erro: | |
<literal>"mysqlnd cannot connect to MySQL 4.1+ using old | |
authentication."</literal> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
A nova biblioteca do mysqlnd não lê os arquivos de configurações do mysql | |
(my.cnf/my.ini), como a antiga biblioteca faz. Se seu código confia nas configurações contidas no | |
arquivo de configuração, você pode ler explicitamente com a função | |
<function>mysqli_options</function>. Perceba que isso significa que as constantes | |
específicas do PDO <constant>PDO::MYSQL_ATTR_READ_DEFAULT_FILE</constant> | |
e <constant>PDO::MYSQL_ATTR_READ_DEFAULT_GROUP</constant> não serão definidas se o suporte ao | |
MySQL no PDO for compilado com o mysqlnd. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
A / no final foi removida da classe <classname>SplFileInfo</classname> | |
e outras classes de diretórios relacionados. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
O método mágico <link linkend="object.tostring">__toString()</link> | |
não mais aceita argumentos. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Os métodos mágicos | |
<link linkend="object.get">__get()</link>, | |
<link linkend="object.set">__set()</link>, | |
<link linkend="object.isset">__isset()</link>, | |
<link linkend="object.unset">__unset()</link>, e | |
<link linkend="object.call">__call()</link> devem sempre | |
ser declarados como public e não podem mais ser static. As assinaturas de método agora são obrigatórias. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
O método mágico <link linkend="object.call">__call()</link> | |
agora é invocado no acesso de métodos private e protected. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>func_get_arg</function>, <function>func_get_args</function> e | |
<function>func_num_args</function> não podem mais ser chamadas do escopo | |
mais alto de um arquivo que foi incluído pela função | |
<function>include</function> ou <function>require</function> de dentro da função | |
no arquivo que fez a chamada. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Uma camada de emulação para a extensão MHASH para encapsular a extensão Hash | |
foi adicionada. Entretando nem todos os algorítimos foram cobertos, notavelmente | |
o algorítimo de hash s2k. Isso significa que o s2k não está mais disponível | |
no PHP 5.3.0. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara> | |
As seguintes palavras chaves agora estão reservadas e não podem ser utilizadas em funções, | |
classes, nomes e etc. | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<link linkend="control-structures.goto">goto</link> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="language.namespaces">namespace</link> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.new-features"> | |
<title>Novos recursos</title> | |
<simpara> | |
PHP 5.3.0 oferece uma grande gama de novos recursos: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
Suporte para <link linkend="language.namespaces">namespaces</link> foi | |
adicionado. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Suporte para <link linkend="language.oop5.late-static-bindings">Late Static | |
Bindings</link> foi adicionado. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Suporte para <link linkend="control-structures.goto">jump labels</link> | |
(limitado a goto) foi adicionado. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Suporte nativo para <link linkend="functions.anonymous">Closures</link> | |
(função Lambda/Anônima) foi adicionado. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Existem dois novos métodos mágicos, | |
<link linkend="object.callstatic">__callStatic()</link> e | |
<link linkend="object.invoke">__invoke()</link>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="language.types.string.syntax.nowdoc">Nowdoc</link> sintaxe é | |
suportada agora, similar a | |
<link linkend="language.types.string.syntax.heredoc">Heredoc</link> sintaxe, | |
mas com aspas simples. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Agora é possível usar | |
<link linkend="language.types.string.syntax.heredoc">Heredoc</link>s para | |
inicializar variáveis estáticas e propriedades/constantes de classes. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="language.types.string.syntax.heredoc">Heredoc</link>s pode | |
ser declarado com aspas duplas, complementando a sintaxe do | |
<link linkend="language.types.string.syntax.nowdoc">Nowdoc</link>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="language.constants.syntax">Constantes</link> pode ser | |
declaradas fora da classe usando o palavra chave <literal>const</literal>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
O operador <link linkend="language.operators.comparison.ternary">ternário</link> | |
operator agora tem uma forma de atalho: <literal>?:</literal>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
O HTTP stream wrapper agora considera todos os códigos de status do 200 ao 399 | |
como status de sucesso. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Acesso dinâmico a métodos státicos agora é possível: | |
</simpara> | |
<informalexample> | |
<programlisting role="php"> | |
<![CDATA[ | |
<?php | |
class C { | |
public static $foo = 123; | |
} | |
$a = "C"; | |
echo $a::$foo; | |
?> | |
]]> | |
</programlisting> | |
&example.outputs; | |
<screen> | |
<![CDATA[ | |
123 | |
]]> | |
</screen> | |
</informalexample> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="language.exceptions">Exceptions</link> podem ser aninhados: | |
</simpara> | |
<informalexample> | |
<programlisting role="php"> | |
<![CDATA[ | |
<?php | |
class MyCustomException extends Exception {} | |
try { | |
throw new MyCustomException("Exceptional", 112); | |
} catch (Exception $e) { | |
/* Note the use of the third parameter to pass $e | |
* into the RuntimeException. */ | |
throw new RuntimeException("Rethrowing", 911, $e); | |
} | |
?> | |
]]> | |
</programlisting> | |
</informalexample> | |
</listitem> | |
<listitem> | |
<simpara> | |
Um <link linkend="features.gc">garbage collector</link> para referências circulares | |
foi adicionado, e agora está ativo por padrão. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
A função <function>mail</function> agora tem suporte para registrar em log o email enviado | |
via a diretiva de configuração <link linkend="ini.mail.log">mail.log</link>. | |
(Nota: Isto se aplica apenas para emails enviados através desta função.) | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.windows"> | |
<title>Mudanças feitas para suporte ao Windows</title> | |
<simpara> | |
Mudanças para a versão do Windows: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
O versão mínima do Windows agora é o Windows XP SP3. Windows 98, ME, 2000 e NT | |
não são mais suportados. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Os binários do Windows são construídos para i586 e mais novos. i386 e i486 não são | |
suportados. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Agora existe um suporte experimental para versões x64 do PHP para Windows. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Agora existe suporte para o compilador do Visual C++ 9 (VC9), usando Visual Studio | |
2008. Snapshots e releases serão disponibilizadas para VC9. Binários antigos | |
usando VC6 ainda são suportados e disponibilizados em linha com o VC9. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
A biblioteca <link linkend="ref.pdo-oci">PDO_OCI</link> | |
<literal>php_pdo_oci8.dll</literal> (para uso com bibliotecas cliente | |
do Oracle versão 8) não está mais sendo construída. Em vez disso, use | |
<literal>php_pdo_oci.dll</literal> (note que não tem '8') com bibliotecas cliente do Oracle 10 ou 11. | |
Conexões para outras versões do banco de dados ainda são suportadas. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Para a extensão <link linkend="book.oci8">OCI8</link>, uma nova biblioteca | |
<literal>php_oci8_11g.dll</literal> está disponível em adição à | |
<literal>php_oci8.dll</literal>. Só uma pode ser ativada por vez. Use | |
<literal>php_oci8.dll</literal> com bibliotecas cliente do Oracle 10.2. Use | |
<literal>php_oci8_11g.dll</literal> com bibliotecas cliente do Oracle 11. | |
Conexões para outras versões do banco de dados ainda são suportadas. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara> | |
Suporte ao Windows foi adicionado para as seguintes funções: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>checkdnsrr</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>dns_get_record</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>fnmatch</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>getmxrr</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>getopt</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>imagecolorclosesthwb</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>inet_ntop</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>inet_pton</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>link</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>linkinfo</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>mcrypt_create_iv</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>readlink</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>socket_create_pair</function> | |
- Esta função já estava disponível no Windows, mas foi desativada no | |
PHP 4.3.0 devido à um bug. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>stream_socket_pair</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>symlink</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>time_nanosleep</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>time_sleep_until</function> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara> | |
Outras modifições: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
Melhoramos a portabilidade das funções <function>stat</function>, | |
<function>touch</function>, <function>filemtime</function>, | |
<function>filesize</function>, e outras funções relacionadas (100% | |
portável para o dado disponível). | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Agora é possível criar hard link no Windows usando a função | |
<function>link</function>, e link simbólico usando a função | |
<function>symlink</function>. Hard links estão disponívies no | |
Windows 2000, e links simbólicos no Windows Vista. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
The Windows version of PHP now exposes a set of constants prefixed | |
<literal>PHP_WINDOWS_*</literal>. A list of these constants and their usage | |
can be found at <xref linkend="info.constants" />. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<warning> | |
<simpara> | |
Suporte para o módulo ISAPI foi removido. Use o módulo aprimorado do FastCGI SAPI | |
no lugar. | |
</simpara> | |
</warning> | |
<note> | |
<simpara> | |
Um novo site dedicado para o PHP no Windows está disponível, incluindo | |
downloads, release candidates, e snapshots em vários modos | |
(thread-safe/not-thread-safe, VC6/VC9, x86/x64). A URL deste site é | |
<link xlink:href="&url.php.windows;">&url.php.windows;</link>. | |
</simpara> | |
</note> | |
</section> | |
<section xml:id="migration53.sapi"> | |
<title>Mudanças nos módulos SAPI</title> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
Um novo módulo SAPI nomeado litespeed está disponível. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Suporte ao FastCGI no CGI SAPI agora está sempre ativado e não pode ser desativado. | |
Veja <literal>sapi/cgi/CHANGES</literal> para maiores detalhes. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Uma nova opção CGI SAPI, <literal>-T</literal>, pode ser utilizada para medir a | |
quantidade de execuções repetidas de um script. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
CGI/FastCGI agora tem suporte para arquivos .htaccess-style user-defined &php.ini; | |
. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
A função <function>dl</function> está desativado por padrão, e agora está disponível apenas | |
sob o CLI, CGI, e embutido SAPIs. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.deprecated"> | |
<title>Recursos em desuso no PHP 5.3.x</title> | |
<simpara> | |
PHP 5.3.0 introduces two new error levels: <constant>E_DEPRECATED</constant> | |
and <constant>E_USER_DEPRECATED</constant>. The | |
<constant>E_DEPRECATED</constant> error level is used to indicate that a | |
function or feature has been deprecated. The | |
<constant>E_USER_DEPRECATED</constant> level is intended for indicating | |
deprecated features in user code, similarly to the | |
<constant>E_USER_ERROR</constant> and <constant>E_USER_WARNING</constant> | |
levels. | |
</simpara> | |
<simpara> | |
The following is a list of deprecated INI directives. Use of any of these INI | |
directives will cause an <constant>E_DEPRECATED</constant> error to be thrown | |
at startup. | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<link linkend="ini.define-syslog-variables">define_syslog_variables</link> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="ini.register-globals">register_globals</link> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="ini.register-long-arrays">register_long_arrays</link> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="ini.safe-mode">safe_mode</link> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="ini.magic-quotes-runtime">magic_quotes_runtime</link> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Comments starting with '#' are now deprecated in .INI files. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara> | |
Deprecated functions: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>call_user_method</function> (use | |
<function>call_user_func</function> instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>call_user_method_array</function> (use | |
<function>call_user_func_array</function> instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>define_syslog_variables</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>dl</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>ereg</function> (use <function>preg_match</function> instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>ereg_replace</function> (use <function>preg_replace</function> | |
instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>eregi</function> (use <function>preg_match</function> with the | |
<literal>'i'</literal> modifier instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>eregi_replace</function> (use <function>preg_replace</function> | |
with the <literal>'i'</literal> modifier instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>set_magic_quotes_runtime</function> and its alias, | |
<function>magic_quotes_runtime</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>session_register</function> (use the <varname>$_SESSION</varname> | |
superglobal instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>session_unregister</function> (use the | |
<varname>$_SESSION</varname> superglobal instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>session_is_registered</function> (use the | |
<varname>$_SESSION</varname> superglobal instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>set_socket_blocking</function> (use | |
<function>stream_set_blocking</function> instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>split</function> (use <function>preg_split</function> instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>spliti</function> (use <function>preg_split</function> with the | |
<literal>'i'</literal> modifier instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>sql_regcase</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>mysql_db_query</function> (use | |
<function>mysql_select_db</function> and <function>mysql_query</function> | |
instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>mysql_escape_string</function> (use | |
<function>mysql_real_escape_string</function> instead) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Passing locale category names as strings is now deprecated. Use the LC_* | |
family of constants instead. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
The <parameter>is_dst</parameter> parameter to <function>mktime</function>. | |
Use the new timezone handling functions instead. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara> | |
Deprecated features: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
Assigning the return value of | |
<link linkend="language.oop5.basic.new">new</link> by reference is now | |
deprecated. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Call-time pass-by-reference is now deprecated. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.undeprecated"> | |
<title>Undeprecated features in PHP 5.3.x</title> | |
<simpara> | |
The <function>is_a</function> function has been undeprecated by popular | |
request; it will no longer issue an <constant>E_STRICT</constant> error. | |
</simpara> | |
</section> | |
<section xml:id="migration53.parameters"> | |
<title>New Parameters</title> | |
<simpara> | |
Several functions were given new, optional parameters in PHP 5.3: | |
</simpara> | |
<simpara>PHP Core:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>clearstatcache</function> | |
- Added <parameter>clear_realpath_cache</parameter> and | |
<parameter>filename</parameter>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>copy</function> | |
- Added a stream context parameter, <parameter>context</parameter>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>fgetcsv</function> | |
- Added <parameter>escape</parameter>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>ini_get_all</function> | |
- Added <parameter>details</parameter>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>nl2br</function> | |
- Added <parameter>is_xhtml</parameter>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>parse_ini_file</function> | |
- Added <parameter>scanner_mode</parameter>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>round</function> | |
- Added <parameter>mode</parameter>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>stream_context_create</function> | |
- Added <parameter>params</parameter>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>strstr</function> and <function>stristr</function> | |
- Added <parameter>before_needle</parameter>. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.json">json</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>json_encode</function> | |
- Added <parameter>options</parameter>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>json_decode</function> | |
- Added <parameter>depth</parameter>. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.stream">Streams</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>stream_select</function>, | |
<function>stream_set_blocking</function>, | |
<function>stream_set_timeout</function>, and | |
<function>stream_set_write_buffer</function> now work with user-space | |
stream wrappers. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.sybase">sybase_ct</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>sybase_connect</function> | |
- Added <parameter>new</parameter>. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara> | |
New method parameters in PHP 5.3.0: | |
</simpara> | |
<simpara>PHP Core:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<methodname>Exception::__construct</methodname> | |
- Added <parameter>previous</parameter>. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.functions"> | |
<title>New Functions</title> | |
<simpara> | |
PHP 5.3 introduced some new functions: | |
</simpara> | |
<simpara>PHP Core:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>array_replace</function> | |
- Replaces elements from passed arrays into one array. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>array_replace_recursive</function> | |
- Recursively replaces elements from passed arrays into one array. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>class_alias</function> | |
- Creates an alias for a user defined class. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>forward_static_call</function> | |
- Call a user function from a method context. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>forward_static_call_array</function> | |
- Call a user function from a method context, with the arguments contained | |
in an array. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>gc_collect_cycles</function> | |
- Forces collection of any existing garbage cycles. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>gc_disable</function> | |
- Deactivates the circular reference collector. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>gc_enable</function> | |
- Activates the circular reference collector. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>gc_enabled</function> | |
- Returns the status of the circular reference collector. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>get_called_class</function> | |
- Return the name of the class a static method is called in. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>gethostname</function> | |
- Return the current host name for the local machine. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>header_remove</function> | |
- Removes an HTTP header previously set using the | |
<function>header</function> function. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>lcfirst</function> | |
- Make a string's first character lowercase. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>parse_ini_string</function> | |
- Parse a configuration string. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>quoted_printable_encode</function> | |
- Convert an 8 bit string to a quoted-printable string. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>str_getcsv</function> | |
- Parse a CSV string into an array. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>stream_context_set_default</function> | |
- Set the default stream context. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>stream_supports_lock</function> | |
- Return &true; if the stream supports locking. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>stream_context_get_params</function> | |
- Retrieve parameters from a stream context. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>streamWrapper::stream_cast</function> | |
- Retrieve the underlying stream resource. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>streamWrapper::stream_set_option</function> | |
- Change stream options | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.datetime">Date/Time</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>date_add</function> | |
- Adds an amount of days, months, years, hours, minutes and seconds to a | |
<classname>DateTime</classname> object. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>date_create_from_format</function> | |
- Returns a new <classname>DateTime</classname> object formatted according | |
to the given format. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>date_diff</function> | |
- Returns the difference between two <classname>DateTime</classname> | |
objects. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>date_get_last_errors</function> | |
- Returns the warnings and errors from the last date/time operation. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>date_parse_from_format</function> | |
- Get infoformation about a given date. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>date_sub</function> | |
- Subtracts an amount of days, months, years, hours, minutes and seconds | |
from a <classname>DateTime</classname> object. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>timezone_version_get</function> | |
- Returns the version of the timezonedb. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.gmp">GMP</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>gmp_testbit</function> | |
- Tests whether a bit is set. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.hash">Hash</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>hash_copy</function> | |
- Copy hashing context. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.imap">IMAP</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>imap_gc</function> | |
- Clears IMAP cache. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>imap_utf8_to_mutf7</function> | |
- Encode a UTF-8 string to modified UTF-7. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>imap_mutf7_to_utf8</function> | |
- Decode a modified UTF-7 string to UTF-8. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.json">JSON</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>json_last_error</function> | |
- Returns the last JSON error that occurred. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.mysqli">MySQL Improved</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>mysqli_fetch_all</function> | |
- Fetches all result rows as an associative array, a numeric | |
array, or both. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>mysqli_get_connection_stats</function> | |
- Returns statistics about the client connection. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>mysqli_poll</function> | |
- Poll connections. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>mysqli_reap_async_query</function> | |
- Get result from async query. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.openssl">OpenSSL</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>openssl_random_pseudo_bytes</function> | |
- Returns a string of the given length specified, filled with pseudo-random | |
bytes. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.pcntl">PCNTL</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>pcntl_signal_dispatch</function> | |
- Calls signal handlers for pending signals. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>pcntl_sigprocmask</function> | |
- Sets and retrieves blocked signals. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>pcntl_sigtimedwait</function> | |
- Wait for signals with a timeout. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>pcntl_sigwaitinfo</function> | |
- Wait for signals. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.pcre">PCRE</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>preg_filter</function> | |
- Perform a regular expression search and replace, returning only results | |
which matched the pattern. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.sem">Semaphore</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>msg_queue_exists</function> | |
- Check whether a message queue exists. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>shm_has_var</function> | |
- Checks whether a specific key exists inside a shared memory segment. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara> | |
The following functions are now natively implemented, making them available | |
on all operating systems which can run PHP: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>acosh</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>asinh</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>atanh</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>expm1</function> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>log1p</function> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.new-stream-wrappers"> | |
<title>New stream wrappers</title> | |
<simpara> | |
The following stream wrappers were introduced in 5.3.0: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<link linkend="wrappers.glob">glob://</link> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="wrappers.phar">phar://</link> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.new-stream-filters"> | |
<title>New stream filters</title> | |
<simpara> | |
The following stream filters were introduced in 5.3.0: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
dechunk (reverses HTTP chunked encoding) | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
The bz2.decompress filter now supports concatenation. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.class-constants"> | |
<title>New Class Constants</title> | |
<simpara> | |
Several new class constants were introduced in 5.3.0: | |
</simpara> | |
<simpara><link linkend="ref.pdo-firebird">PDO_FIREBIRD</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<constant>PDO::FB_ATTR_DATE_FORMAT</constant> | |
- Sets the format for dates. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PDO::FB_ATTR_TIME_FORMAT</constant> | |
- Sets the format for time. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PDO::FB_ATTR_TIMESTAMP_FORMAT</constant> | |
- Sets the format for timestamps. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.methods"> | |
<title>New Methods</title> | |
<simpara> | |
Several new methods were introduced in 5.3.0: | |
</simpara> | |
<simpara><link linkend="book.datetime">Date/Time</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>DateTime::add</function> | |
- Adds an amount of days, months, years, hours, minutes and seconds to a | |
<classname>DateTime</classname> object. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>DateTime::createFromFormat</function> | |
- Returns a new <classname>DateTime</classname> object formatted according | |
to the given format. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>DateTime::diff</function> | |
- Returns the difference between two <classname>DateTime</classname> | |
objects. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>DateTime::getLastErrors</function> | |
- Returns the warnings and errors from the last date/time operation. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>DateTime::sub</function> | |
- Subtracts an amount of days, months, years, hours, minutes and seconds | |
from a <classname>DateTime</classname> object. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><classname>Exception</classname>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>Exception::getPrevious</function> | |
- Retrieves the previous exception. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.dom">DOM</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>DOMNode::getLineNo</function> | |
- Get the line number of a parsed node. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="ref.pdo-firebird">PDO_FIREBIRD</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>PDO::setAttribute</function> | |
- Sets an attribute. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.reflection">Reflection</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<methodname>ReflectionClass::getNamespaceName</methodname> | |
- Returns the name of namespace where this class is defined. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<methodname>ReflectionClass::getShortName</methodname> | |
- Returns the short name of this class (without namespace part). | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<methodname>ReflectionClass::inNamespace</methodname> | |
- Returns whether this class is defined in a namespace. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<methodname>ReflectionFunction::getNamespaceName</methodname> | |
- Returns the name of namespace where this function is defined. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<methodname>ReflectionFunction::getShortName</methodname> | |
- Returns the short name of the function (without namespace part). | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<methodname>ReflectionFunction::inNamespace</methodname> | |
- Returns whether this function is defined in a namespace. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<methodname>ReflectionProperty::setAccessible</methodname> | |
- Sets whether non-public properties can be requested. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.spl">SPL</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>SplObjectStorage::addAll</function> | |
- Add all elements from another SplObjectStorage object. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>SplObjectStorage::removeAll</function> | |
- Remove all elements from another SplObjectStorage object. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.xsl">XSL</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>XSLTProcessor::setProfiling</function> | |
- Sets the profiling output file. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.new-extensions"> | |
<title>New Extensions</title> | |
<simpara> | |
The following new extensions are added (by default) as of PHP 5.3.0: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<link linkend="book.enchant">Enchant</link> | |
- An abstraction layer above various spelling libraries | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.fileinfo">Fileinfo</link> | |
- An improved and more solid replacement, featuring full BC, for the | |
<link linkend="book.mime-magic">Mimetype</link> extension, which has been | |
removed. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.intl">INTL</link> | |
- Internationalization extension. INTL is a wrapper around the | |
<link xlink:href="&url.icu.home;">ICU</link> library. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.phar">Phar</link> | |
- Implementation of PHP-Archive files. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.sqlite3">SQLite3</link> | |
- Support for SQLite version 3 databases. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara> | |
mysqlnd is a new core library shipped with PHP. It is a PHP-specific | |
replacement for libmysqlclient. mysqlnd will be used to build the | |
<link linkend="book.mysql">mysql</link>, | |
<link linkend="book.mysqli">mysqli</link> | |
and <link linkend="ref.pdo-mysql">PDO_MySQL</link> extensions if libmysqlclient | |
isn't found on the system. It may also be used instead of libmysqlclient even when | |
libmysqlclient is present. mysqlnd is recommended for all PHP installations for | |
performance reasons. | |
</simpara> | |
</section> | |
<section xml:id="migration53.removed-extensions"> | |
<title>Removed Extensions</title> | |
<simpara> | |
These extensions have been moved to PECL and are no longer part of the PHP | |
distribution. The PECL package versions of these extensions will be created | |
according to user demand. | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<link linkend="book.dbase">dbase</link> | |
- No longer maintained | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.fbsql">fbsql</link> | |
- No longer maintained | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.fdf">fdf</link> | |
- Maintained | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.ming">ming</link> | |
- Maintained | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.msql">msql</link> | |
- No longer maintained | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.ncurses">ncurses</link> | |
- Maintained | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.sybase">sybase</link> | |
- Discontinued; use the <link linkend="book.sybase">sybase_ct</link> | |
extension instead | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.mhash">mhash</link> | |
- Discontinued; use the <link linkend="book.hash">hash</link> extension | |
instead. <link linkend="book.hash">hash</link> has full mhash | |
compatibility; all existing applications using the old functions will | |
continue to work. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.extensions-other"> | |
<title>Other changes to extensions</title> | |
<simpara> | |
The following extensions can no longer be disabled during build | |
configuration: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<link linkend="book.pcre">PCRE</link> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.reflection">Reflection</link> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.spl">SPL</link> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara> | |
Changes in extension behaviour, and new features: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<link linkend="book.datetime">Date and Time</link> | |
- The TZ environment variable is no longer used to guess the timezone | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.curl">cURL</link> | |
- cURL now supports SSH | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.network">Network</link> | |
- <function>dns_check_record</function> now returns an extra "entries" | |
index, containing the TXT elements. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.hash">Hash</link> | |
- The SHA-224 and salsa hash algorithms are now supported. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.mbstring">mbstring</link> | |
- Now supports CP850 encoding. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.oci8">OCI8</link> | |
- A call to <function>oci_close</function> on a persistent connection, or a | |
variable referencing a persistent connection going out of scope, will now | |
roll back any uncommitted transaction. To avoid unexpected behavior, | |
explicitly issue a commit or roll back as needed. The old behavior can be | |
enabled with the INI directive | |
<link linkend="ini.oci8.old-oci-close-semantics">oci8.old_oci_close_semantics</link>. | |
</simpara> | |
<simpara> | |
Database Resident Connection Pooling (DRCP) and Fast Application | |
Notification (FAN) are now supported. | |
</simpara> | |
<simpara> | |
Oracle External Authentication is now supported (except on Windows). | |
</simpara> | |
<simpara> | |
The <function>oci_bind_by_name</function> function now supports SQLT_AFC | |
(aka the CHAR datatype). | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.openssl">OpenSSL</link> | |
- OpenSSL digest and cipher functions are now supported. It is also | |
now possible to access the internal values of DSA, RSA and DH keys. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.session">Session</link> | |
- Sessions will no longer store session-files in <literal>"/tmp"</literal> | |
when <link linkend="ini.open-basedir">open_basedir</link> restrictions | |
apply, unless <literal>"/tmp"</literal> is explicitly added to the list of | |
allowed paths. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.soap">SOAP</link> | |
Now supports sending user supplied HTTP headers. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.mysqli">MySQLi</link> | |
Now supports persistent connections, by prepending the hostname with | |
<literal>"p:"</literal>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="book.image">Image Processing and GD</link> | |
The "JPG Support" index returned from <function>gd_info</function> has | |
been renamed to "JPEG Support". | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.classes"> | |
<title>New Classes</title> | |
<simpara> | |
The following classes were introduced in PHP 5.3.0: | |
</simpara> | |
<simpara><link linkend="book.datetime">Date/Time</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<classname>DateInterval</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>DatePeriod</classname> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.phar">Phar</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<classname>Phar</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>PharData</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>PharException</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>PharFileInfo</classname> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.spl">SPL</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<classname>FilesystemIterator</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>GlobIterator</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>MultipleIterator</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>RecursiveTreeIterator</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>SplDoublyLinkedList</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>SplFixedArray</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>SplHeap</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>SplMaxHeap</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>SplMinHeap</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>SplPriorityQueue</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>SplQueue</classname> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>SplStack</classname> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.global-constants"> | |
<title>New Global Constants</title> | |
<simpara>PHP Core:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<constant>__DIR__</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>__NAMESPACE__</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>E_DEPRECATED</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>E_USER_DEPRECATED</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>INI_SCANNER_NORMAL</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>INI_SCANNER_RAW</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PHP_MAXPATHLEN</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PHP_WINDOWS_NT_DOMAIN_CONTROLLER</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PHP_WINDOWS_NT_SERVER</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PHP_WINDOWS_NT_WORKSTATION</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PHP_WINDOWS_VERSION_BUILD</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PHP_WINDOWS_VERSION_MAJOR</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PHP_WINDOWS_VERSION_MINOR</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PHP_WINDOWS_VERSION_PLATFORM</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PHP_WINDOWS_VERSION_PRODUCTTYPE</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PHP_WINDOWS_VERSION_SP_MAJOR</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PHP_WINDOWS_VERSION_SP_MINOR</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>PHP_WINDOWS_VERSION_SUITEMASK</constant> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.curl">cURL</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<constant>CURLOPT_PROGRESSFUNCTION</constant> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.image">GD</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<constant>IMG_FILTER_PIXELATE</constant> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.json">JSON</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<constant>JSON_ERROR_CTRL_CHAR</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>JSON_ERROR_DEPTH</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>JSON_ERROR_NONE</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>JSON_ERROR_STATE_MISMATCH</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>JSON_ERROR_SYNTAX</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>JSON_FORCE_OBJECT</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>JSON_HEX_TAG</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>JSON_HEX_AMP</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>JSON_HEX_APOS</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>JSON_HEX_QUOT</constant> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.ldap">LDAP</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<constant>LDAP_OPT_NETWORK_TIMEOUT</constant> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.libxml">libxml</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<constant>LIBXML_LOADED_VERSION </constant> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.pcre">PCRE</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<constant>PREG_BAD_UTF8_OFFSET_ERROR</constant> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara><link linkend="book.pcntl">PCNTL</link>:</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<constant>BUS_ADRALN</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>BUS_ADRERR</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>BUS_OBJERR</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>CLD_CONTIUNED</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>CLD_DUMPED</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>CLD_EXITED</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>CLD_KILLED</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>CLD_STOPPED</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>CLD_TRAPPED</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>FPE_FLTDIV</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>FPE_FLTINV</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>FPE_FLTOVF</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>FPE_FLTRES</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>FPE_FLTSUB</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>FPE_FLTUND</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>FPE_INTDIV</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>FPE_INTOVF</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>ILL_BADSTK</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>ILL_COPROC</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>ILL_ILLADR</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>ILL_ILLOPC</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>ILL_ILLOPN</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>ILL_ILLTRP</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>ILL_PRVOPC</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>ILL_PRVREG</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>POLL_ERR</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>POLL_HUP</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>POLL_IN</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>POLL_MSG</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>POLL_OUT</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>POLL_PRI</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SEGV_ACCERR</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SEGV_MAPERR</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SI_ASYNCIO</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SI_KERNEL</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SI_MESGQ</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SI_NOINFO</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SI_QUEUE</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SI_SIGIO</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SI_TIMER</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SI_TKILL</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SI_USER</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SIG_BLOCK</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SIG_SETMASK</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>SIG_UNBLOCK</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>TRAP_BRKPT</constant> | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<constant>TRAP_TRACE</constant> | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.ini"> | |
<title>Changes to INI file handling</title> | |
<simpara> | |
PHP 5.3.0 has significantly improved performance and parsing of INI files, | |
and adds several new syntax features. | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
The standard &php.ini; files have been re-organized and renamed. | |
<literal>php.ini-development</literal> contains settings recommded | |
for use in development environments. <literal>php.ini-production</literal> | |
contains settings recommended for use in production environments. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
There is now support for two special sections: | |
<literal>[PATH=/opt/httpd/www.example.com/]</literal> and | |
<literal>[HOST=www.example.com]</literal>. Directives set in these | |
sections cannot be overridden by user-defined INI files or at | |
runtime. More information about these sections can be found | |
<link linkend="ini.sections">here</link>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="ini.zend-extension-debug">zend_extension_debug</link>, | |
<link linkend="ini.zend-extension-debug-ts">zend_extension_debug_ts</link> | |
and <link linkend="ini.zend-extension-ts">zend_extension_ts</link> have | |
been removed. Use the | |
<link linkend="ini.zend-extension">zend_extension</link> directive to | |
load all Zend Extensions. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="ini.zend.ze1-compatibility-mode">zend.ze1_compatibility_mode</link> | |
has been removed. If this INI directive is set to On, an | |
<constant>E_ERROR</constant> error is emitted at startup. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
It is now possible to use the full path to load modules using the | |
<link linkend="ini.extension">extension</link> directive. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<literal>"ini-variables"</literal> can now be used almost anywhere in a | |
&php.ini; file. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="ini.open-basedir">open_basedir</link> restrictions may now | |
be tighted at runtime, and the directive is now PHP_INI_ALL. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
It is now possible to use alphanumeric or variable indices in INI option | |
arrays. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>get_cfg_var</function> is now able to return "array" INI options. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Two new mail directives: | |
<link linkend="ini.mail.add-x-header">mail.add_x_header</link> and | |
<link linkend="ini.mail.log">mail.log</link>, have been added. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara> | |
The following new ini directives have been added: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<literal>user_ini.filename</literal> and | |
<literal>user_ini.cache_ttl</literal> have been added to control the use | |
of <link linkend="configuration.file.per-user">user INI files</link>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="ini.exit-on-timeout">exit_on_timeout</link> has been added | |
to force Apache 1.x children to exit if a PHP execution timeout occurs. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Added <literal>mbstring.http_output_conv_mimetype</literal>. | |
This directive specifies the regex pattern of content types for which | |
<function>mb_output_handler</function> is activated. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
Added <link linkend="ini.request-order">request_order</link>. | |
Allows controlling which external variables will be available in | |
<varname>$_REQUEST</varname>. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
<simpara> | |
The following ini directives have new default values: | |
</simpara> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<link linkend="ini.session.use-only-cookies">session.use_only_cookies</link> | |
is now set to <literal>"1"</literal> (enabled) by default. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="ini.oci8.default-prefetch">oci8.default_prefetch</link> | |
has changed from <literal>"10"</literal> to <literal>"100"</literal>. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
<section xml:id="migration53.other"> | |
<title>Other changes</title> | |
<itemizedlist> | |
<listitem> | |
<simpara> | |
<function>SplFileInfo::getpathinfo</function> now returns information about | |
the path name. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<classname>SplObjectStorage</classname> now has | |
<classname>ArrayAccess</classname> support. It is now also possible to | |
store associative information with objects in | |
<classname>SplObjectStorage</classname>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
In the GD extension, there is now pixelation support available through | |
the <function>imagefilter</function> function. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>var_dump</function> output now includes private object properties. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>session_start</function> now returns &false; when session startup | |
fails. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>property_exists</function> now checks the existence of a property | |
independent of accessibility (like <function>method_exists</function>). | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<link linkend="wrappers">Stream wrappers</link> can now be used by | |
<link linkend="ini.include-path">include_path</link>. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
The <parameter>initial</parameter> parameter for | |
<function>array_reduce</function> can now be of any type. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
The <link linkend="ref.dir">directory functions</link> | |
<function>opendir</function>, <function>scandir</function>, and | |
<function>dir</function> now use the default stream context if no explicit | |
context is passed. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>crypt</function> now has Blowfish and extended DES support, and | |
<function>crypt</function> features are now 100% portable. PHP has its own | |
internal crypt implementation which drops into place when support for | |
<literal>crypt</literal> or <literal>crypt_r</literal> is not found. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>getopt</function> now accepts "long options" on all platforms. | |
Optional values and <literal>=</literal> as a separator for short options | |
are now supported. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>fopen</function> has a new mode option (<literal>n</literal>), | |
which passes <constant>O_NONBLOCK</constant> to the underlying | |
<literal>open()</literal> system call. Note that this mode is not currently | |
supported on Windows. | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
<function>getimagesize</function> now supports icon files (.ico). | |
</simpara> | |
</listitem> | |
<listitem> | |
<simpara> | |
The mhash extension have moved to PECL, but the | |
<link linkend="ref.hash">Hash</link> extension have been modified to support | |
mhash if PHP is compiled with <literal>--with-mhash</literal>. Note that the | |
Hash extension does not require the mhash library to be available whether or | |
not the mhash emulation is enabled. | |
</simpara> | |
</listitem> | |
</itemizedlist> | |
</section> | |
</appendix> | |
<!-- Keep this comment at the end of the file | |
Local variables: | |
mode: sgml | |
sgml-omittag:t | |
sgml-shorttag:t | |
sgml-minimize-attributes:nil | |
sgml-always-quote-attributes:t | |
sgml-indent-step:1 | |
sgml-indent-data:t | |
indent-tabs-mode:nil | |
sgml-parent-document:nil | |
sgml-default-dtd-file:"~/.phpdoc/manual.ced" | |
sgml-exposed-tags:nil | |
sgml-local-catalogs:nil | |
sgml-local-ecat-files:nil | |
End: | |
vim600: syn=xml fen fdm=syntax fdl=2 si | |
vim: et tw=78 syn=sgml | |
vi: ts=1 sw=1 | |
--> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment