cvs: phpdoc-nl /appendices migration5.xml

From: Date: Tue, 04 May 2004 07:19:43 +0000
Subject: cvs: phpdoc-nl /appendices migration5.xml
Groups: php.doc.nl 
Request: Send a blank email to doc-nl+get-314@lists.php.net to get a copy of this message
derick Tue May 4 03:19:43 2004 EDT Added files: /phpdoc-nl/appendices migration5.xml Log: - Added translation of the migrating chapter to Dutch (by Sven Hermans)

http://cvs.php.net/co.php/phpdoc-nl/appendices/migration5.xml?r=1.1&p=1 Index: phpdoc-nl/appendices/migration5.xml +++ phpdoc-nl/appendices/migration5.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- EN-Revision: 1.15 Maintainer: derick Status: ready --> <appendix id="migration5"> <title>Migreren van PHP 4 naar PHP 5</title> <section id="migration5.changes"> <title>Wat is er veranderd in PHP 5</title> <para> PHP 5 en de geïntegreerde Zend Engine 2 hebben PHP's prestaties en mogelijkheden enorm verbeterd, en grote inspanningen zijn geleverd om zo weinig mogelijk bestaande PHP code te breken. Dus je code migreren van PHP 4 naar 5 zou heel gemakkelijk moeten zijn. De meeste bestaande PHP 4 code zou klaar zijn om te runnen zonder veranderingen, maar je kan best de <link linkend="migration5.incompatible">kleine verschillen</link> kennen en zorg dragen om je code te testen voordat je van versies verandert naar productie omgevingen. </para> </section> <section id="migration5.incompatible"> <title>Terugwaardse Incompatibiliteit Veranderingen</title> <para> Ondanks de meeste bestaande PHP 4 code zou moeten werken zonder veranderingen, kan je best aandacht besteden aan volgende terugwaardse incompatibiliteit veranderingen: </para> <itemizedlist> <listitem><simpara> <function>strrpos</function> en <function>strripos</function> gebruiken nu de hele string als een needle. </simpara></listitem> <listitem><simpara> Illegaal gebruik van deze string offsets veroorzaakt <constant>E_ERROR</constant> in de plaats van <constant>E_WARNING</constant>. </simpara></listitem> <listitem><simpara> <function>array_merge</function> is veranderd om enkel arrays te aanvaarden. Als een niet-array variable wordt gepassed, zal een <constant>E_WARNING</constant> geworpen worden voor elk zo'n parameter. Wees voorzichtig omdat je code <constant>E_WARNING</constant> kan geven uit het niets. </simpara></listitem> <listitem><simpara> PATH_TRANSLATED server variabele wordt niet langer uitdrukkelijk geset onder Apache2 SAPI in kontrast met de situatie in PHP 4, waar het is geset naar dezelfde waarde als de SCRIPT_FILENAME server variable wanneer het niet populated wordt door Apache. Deze verandering is doorgevoerd om to overeen te stemmen met de <ulink url="&amp;url.cgispecs;">CGI specificatie</ulink>. Refereer a.u.b naar <ulink url="&amp;url.php.bugs;23610">bug #23610</ulink> voor meer informatie. </simpara></listitem> <listitem><simpara> De <constant>T_ML_CONSTANT</constant> constant is niet langer gedefinieerd door de <link linkend="ref.tokenizer">Tokenizer</link> extensie. Als error_reporting is geset op <constant>E_ALL</constant>, zal PHP een notice genereren. Hoewel de <constant>T_ML_CONSTANT</constant> nooit werd gebruikt, was het gedefinieerd in PHP 4. In zowel PHP 4 en PHP 5 worden // en /* */ omgezet als de <constant>T_COMMENT</constant> constant. Niettemin PHPDoc stijl comments /** */ , die vanaf PHP 5 worden geparsed door PHP, herkend worden als <constant>T_DOC_COMMENT</constant>. </simpara></listitem> <listitem><simpara> $_SERVER zou nooit bezaaid mogen worden met argc en argv als <link linkend="ini.variables-order">variables_order</link> "S" bezit. Als je een systeem hebt dat specifiek geconfigureerd is om geen $_SERVER te maken, dan moet het er uiteraard niet zijn. De verandering was om argc en argv altijd beschikbaar te maken in de CLI versie onafhankelijk van de <link linkend="ini.variables-order">variables_order</link> setting. Gelijkaardig, zal de CLI versie nu altijd bezaaid worden met de globale $argc en $argv variabelen. </simpara></listitem> <listitem><simpara> Een object met geen properties wordt niet langer beschouwd als &quot;empty&quot;. </simpara></listitem> <listitem><simpara> Classes moeten gedeclareerd worden voor gebruik. </simpara></listitem> </itemizedlist> <para> <example> <title><function>strrpos</function> en <function>strripos</function> gebruiken nu de gehele string als naald.</title> <programlisting role="php"> <![CDATA[ <?php var_dump(strrpos('ABCDEF','DEF')); //int(3) var_dump(strrpos('ABCDEF','DAF')); //bool(false) ?> ]]> </programlisting> </example> </para> <para> <example> <title>Een object zonder properties wordt niet langer beschouwd als "empty".</title> <programlisting role="php"> <![CDATA[ <?php class test { } $t = new test(); var_dump(empty($t)); // echo bool(false) if (!$t) { // Will be executed } ?> ]]> </programlisting> </example> </para> <para> Het volgende voorbeeld was geldig in PHP 4, maar in PHP 5 zal het een fatal error produceren. </para> <para> <example> <title>Classes moeten gedeclareerd worden voor gebruik</title> <programlisting role="php"> <![CDATA[ <?php $test = new fubar(); $test->barfu(); class fubar { function barfu() { echo 'fubar'; } } ?> ]]> </programlisting> </example> </para> </section> <section id="migration5.cli-cgi"> <title>CLI en CGI</title> <para> In PHP 5 waren er enkele veranderingen in de CLI en CGI bestandsnamen. In PHP 5, werd de CGI versie hernoemd naar <literal>php-cgi.exe</literal> (vroeger <literal>php.exe</literal>) en de CLI versie zit nu in de main directory (vroeger <literal>cli/php.exe</literal>). </para> <para> In PHP 5 werd er ook een nieuwe mode geintroduceerd: <literal>php-win.exe</literal>. Dit is gelijk aan de CLI versie, behalve dat php-win niets output en dus geen console voorziet (er komt geen "dos box" op het scherm). Dit gedrag is gelijkaardig aan php-gtk. </para> <para> In PHP 5, zal de CLI versie altijd de globale $argv en $argc bezaaien. </para> </section> <section id="migration5.configuration"> <title>Configuratie Files migreren</title> <para> Sinds de ISAPI modules hun namen zijn veranderd, van php4xxx naar php5xxx, moet je enkele wijzigingen aanbrengen in de configuratiebestanden. Er waren ook veranderingen in de CLI en CGI bestandsnamen. Refereer naar de <link linkend="migration5.cli-cgi">bijhorende sectie</link> voor meer informatie. </para> <para> De Apache configuratie migreren is heel gemakkelijk. Bekijk het voorbeeld onderaan om te weten welke wijzigingen je moet doen: <informalexample> <programlisting role="apache-conf"> <![CDATA[ # verander deze lijn: LoadModule php4_module /php/sapi/php4apache2.dll # met deze: LoadModule php5_module /php/php5apache2.dll ]]> </programlisting> </informalexample> </para> <para> Als je webserver PHP runt in CGI mode, merk dan op dat de CGI versie haar naam is veranderd van php.exe naar php-cgi.exe. In Apache zou je iets moeten doen als dit: <informalexample> <programlisting role="apache-conf"> <![CDATA[ # verander deze lijn: Action application/x-httpd-php "/php/php.exe" # met deze: Action application/x-httpd-php "/php/php-cgi.exe" ]]> </programlisting> </informalexample> </para> <para> Bij andere webservers moet je ofwel de CGI of ISAPI module bestandsnamen veranderen. </para> </section> <section id="migration5.functions"> <title>Nieuwe Functies</title> <para> In PHP 5 zijn er enkele nieuwe functies. Hier is er een lijst van: </para> <para>Arrays:</para> <itemizedlist> <listitem><simpara> <function>array_combine</function> - Creeert een array door een array voor keys te gebruiken en een andere voor zijn waarde. </simpara></listitem> <listitem><simpara> <function>array_diff_uassoc</function> - Berekent het verschil van arrays met een toegevoegde index check die wordt uitgevoerd door een gebruiker opgegeven callback functie. </simpara></listitem> <listitem><simpara> <function>array_udiff</function> - Berekent het verschil van arrays door een callback functie te gebruiken voor data vergelijking. </simpara></listitem> <listitem><simpara> <function>array_udiff_assoc</function> - Berekent het verschil van arrays met toegevoegde index check. De data wordt vergeleken door een callback functie te gebruiken. </simpara></listitem> <listitem><simpara> <function>array_udiff_uassoc</function> - Berekent het verschil van arrays met toegevoegde index check. De data wordt vergeleken door een callback functie te gebruiken. De index check wordt ook gedaan door een callback functie. </simpara></listitem> <listitem><simpara> <function>array_walk_recursive</function> - Pas een user functie recursief toe op elke member van een array. </simpara></listitem> </itemizedlist> <para>InterBase:</para> <itemizedlist> <listitem><simpara> <function>ibase_affected_rows</function> - Return het aantal rijen die beinvloed waren door de voorgaande query. </simpara></listitem> <listitem><simpara> <function>ibase_backup</function> - Initialiseer een backup taak in de service manager en return onmiddellijk. </simpara></listitem> <listitem><simpara> <function>ibase_commit_ret</function> - Commit a transaction without closing it </simpara></listitem> <listitem><simpara> <function>ibase_db_info</function> - Vraag statistieken op over een database. </simpara></listitem> <listitem><simpara> <function>ibase_drop_db</function> - Drop een database. </simpara></listitem> <listitem><simpara> <function>ibase_errcode</function> - Return een error code. </simpara></listitem> <listitem><simpara> <function>ibase_free_event_handler</function> - Annuleer een geregistreerde event handler. </simpara></listitem> <listitem><simpara> <function>ibase_gen_id</function> - Verhoog de named generator en return zijn nieuwe waarde. </simpara></listitem> <listitem><simpara> <function>ibase_maintain_db</function> - Voer een onderhoud commando uit op de database server. </simpara></listitem> <listitem><simpara> <function>ibase_name_result</function> - Wijs een naam toe aan een result set. </simpara></listitem> <listitem><simpara> <function>ibase_num_params</function> - Return het aantal parameters in een voorbereide query. </simpara></listitem> <listitem><simpara> <function>ibase_param_info</function> - Return informatie over een parameter in een voorbereide query. </simpara></listitem> <listitem><simpara> <function>ibase_restore</function> - Initieer een restore taak in de service manager en return onmiddellijk. </simpara></listitem> <listitem><simpara> <function>ibase_rollback_ret</function> - Rollback transactie en weerhoud de transactie context. </simpara></listitem> <listitem><simpara> <function>ibase_server_info</function> - Vraag statistieken op over een database. </simpara></listitem> <listitem><simpara> <function>ibase_service_attach</function> - Verbind met de service manager. </simpara></listitem> <listitem><simpara> <function>ibase_service_detach</function> - Verbreek de verbinding met de service manager. </simpara></listitem> <listitem><simpara> <function>ibase_set_event_handler</function> - Registreer een callback functie om aangeroepen te worden wanneer events worden gepost. </simpara></listitem> <listitem><simpara> <function>ibase_wait_event</function> - Wacht op een event om gepost te worden door de database. </simpara></listitem> </itemizedlist> <para>iconv:</para> <itemizedlist> <listitem><simpara> <function>iconv_mime_decode</function> - Decodeer een MIME header veld. </simpara></listitem> <listitem><simpara> <function>iconv_mime_decode_headers</function> - Decodeer meerdere MIME header velden in een keer. </simpara></listitem> <listitem><simpara> <function>iconv_mime_encode</function> - Stel een MIME header veld samen. </simpara></listitem> <listitem><simpara> <function>iconv_strlen</function> - Return het aantal karakters van string. </simpara></listitem> <listitem><simpara> <function>iconv_strpos</function> - Vind de positie van het eerste voorkomen van een naald in een hooiberg. </simpara></listitem> <listitem><simpara> <function>iconv_strrpos</function> - Vind het laatste voorkomen van een naald binnenin het opgegeven bereik van hooiberg. </simpara></listitem> <listitem><simpara> <function>iconv_substr</function> - Knip een stuk uit een string. </simpara></listitem> </itemizedlist> <para>Streams:</para> <itemizedlist> <listitem><simpara> <function>stream_copy_to_stream</function> - Kopieert data van de ene stream naar een andere </simpara></listitem> <listitem><simpara> <function>stream_get_line</function> - Neemt een lijn van een stream resource tot een gegeven delimiter </simpara></listitem> <listitem><simpara> <function>stream_socket_accept</function> - Aanvaard een verbinding op een socket gecreëerd door <function>stream_socket_server</function> </simpara></listitem> <listitem><simpara> <function>stream_socket_client</function> - Open Internet of Unix domein socket verbinding. </simpara></listitem> <listitem><simpara> <function>stream_socket_get_name</function> - Achterhaal de naam van de lokale sockets of die op afstand </simpara></listitem> <listitem><simpara> <function>stream_socket_recvfrom</function> - Ontvangt data van een socket, verbonden of niet </simpara></listitem> <listitem><simpara> <function>stream_socket_sendto</function> - Stuur een bericht naar een socket, of het verbonden is of niet </simpara></listitem> <listitem><simpara> <function>stream_socket_server</function> - Creëer een Internet of Unix domein server socket </simpara></listitem> </itemizedlist> <para>Andere:</para> <itemizedlist> <listitem><simpara> <function>convert_uudecode</function> - decode a uuencoded string </simpara></listitem> <listitem><simpara> <function>convert_uuencode</function> - uuencode een string </simpara></listitem> <listitem><simpara> <function>curl_copy_handle</function> - Kopieer een cURL handle samen met al z'n voorkeuren </simpara></listitem> <listitem><simpara> <function>dba_key_split</function> - Splits een key in een string representatie in een array representatie </simpara></listitem> <listitem><simpara> <function>dbase_get_header_info</function> - Neem de header info van een dBase database </simpara></listitem> <listitem><simpara> <function>dbx_fetch_row</function> - Fetcht rijen van een query-resultaat waarvan de DBX_RESULT_UNBUFFERED flag was geset </simpara></listitem> <listitem><simpara> <function>fbsql_set_password</function> - Verander het paswoord voor een opgegeven gebruiker </simpara></listitem> <listitem><simpara> <function>file_put_contents</function> - Schrijf een string naar een bestand </simpara></listitem> <listitem><simpara> <function>ftp_alloc</function> - Maakt plaats vrij voor een bestand dat moet geupload worden </simpara></listitem> <listitem><simpara> <function>get_declared_interfaces</function> - Returnt een array met alle gedeclareerde interfaces </simpara></listitem> <listitem><simpara> <function>get_headers</function> - Fetcht alle headers verstuurd door de server in respons van een HTTP verzoek </simpara></listitem> <listitem><simpara> <function>headers_list</function> - Returnt een lijst van respons headers die verstuurd zijn (of klaar zijn om te versturen) </simpara></listitem> <listitem><simpara> <function>http_build_query</function> - Genereer een URL-geencodeerde query string </simpara></listitem> <listitem><simpara> <function>idate</function> - Format een lokale tijd/datum als integer </simpara></listitem> <listitem><simpara> <function>image_type_to_extension</function> - Neem bestandsextensie van image-type returned door <function>getimagesize</function>, <function>exif_read_data</function>, <function>exif_thumbnail</function>, <function>exif_imagetype</function> </simpara></listitem> <listitem><simpara> <function>imagefilter</function> - Past een Filter toe op een afbeelding met het gebruik van een aangepaste hoek </simpara></listitem> <listitem><simpara> <function>imap_getacl</function> - Neemt de ACL van een gegeven mailbox </simpara></listitem> <listitem><simpara> <function>ldap_sasl_bind</function> - Bind naar LDAP directory met gebruik van SASL </simpara></listitem> <listitem><simpara> <function>mb_list_encodings</function> - Returnt een array van alle ondersteunde encoderingen </simpara></listitem> <listitem><simpara> <function>pcntl_getpriority</function> - Neemt de prioriteit over van om het even welk process </simpara></listitem> <listitem><simpara> <function>pcntl_wait</function> - Wacht of returnt de status van een forked child zoals gedefinieerd door de waitpid() systeem call </simpara></listitem> <listitem><simpara> <function>pg_version</function> - Returnt een array met client, protocol en server versie (indien beschikbaar) </simpara></listitem> <listitem><simpara> <function>php_check_syntax</function> - Kijk de syntax na van het gespecifieerde bestand </simpara></listitem> <listitem><simpara> <function>php_strip_whitespace</function> - Return de bron met gestripte commentaar en whitespace </simpara></listitem> <listitem><simpara> <function>proc_nice</function> - Verander de prioriteit van het huidige process </simpara></listitem> <listitem><simpara> <function>pspell_config_data_dir</function> - Verander de lokatie van de taalgegevens bestanden </simpara></listitem> <listitem><simpara> <function>pspell_config_dict_dir</function> - Verander de lokatie van de main woordlijst </simpara></listitem> <listitem><simpara> <function>setrawcookie</function> - Stuur een cookie met geen url encodering van de waarde </simpara></listitem> <listitem><simpara> <function>snmp_read_mib</function> - Lees en parse een MIB bestand in de actieve MIB tree </simpara></listitem> <listitem><simpara> <function>sqlite_fetch_column_types</function> - Return een array van kollom type van een bepaalde table </simpara></listitem> <listitem><simpara> <function>str_split</function> - Converteer en string naar een array </simpara></listitem> <listitem><simpara> <function>strpbrk</function> - Zoek een string voor elk van een set van karakters </simpara></listitem> <listitem><simpara> <function>substr_compare</function> - Binair veilige optionele hoofdletter ongevoelige vergelijking van twee strings van een offset, tot lengte van karakters </simpara></listitem> <listitem><simpara> <function>time_nanosleep</function> - Vertraging van een aantal seconden en nano seconden </simpara></listitem> </itemizedlist> <note> <para> De <link linkend="ref.tidy">Tidy</link> extensie zijn API is ook compleet veranderd. </para> </note> </section> <section id="migration5.newconf"> <title>Nieuwe Directives</title> <para> Er werden enkele nieuwe &amp;php.ini; directives geintroduceerd in PHP 5. Hier is er een lijst van: </para> <itemizedlist> <listitem><simpara> mail.force_extra_parameters - Forceer de toevoeging van gespecifieerde parameters om mee te geven als extra parameters van de sendmail binary. Deze parameters zullen altijd de waarde van de 5de parameter vervangen naar <function>mail</function>, zelfs in safe mode </simpara></listitem> <listitem><simpara> <link linkend="ini.register-long-arrays">register_long_arrays</link> - sta toe/weiger PHP om de verouderde lange $HTTP_*_VARS te registreren </simpara></listitem> <listitem><simpara> <link linkend="ini.session.hash-function">session.hash_function</link> - selecteer een hash functie (MD5 or SHA-1) </simpara></listitem> <listitem><simpara> <link linkend="ini.session.hash-bits-per-character">session.hash_bits_per_character</link> - definieer hoeveel bits bewaard worden in elk karakter tijdens het converteren van de binaire hash data naar iets leesbaars (van 4 tot 6) </simpara></listitem> <listitem><simpara> zend.ze1_compatibility_mode - Schakel de compatibiliteits mode met Zend Engine 1 in (PHP 4) </simpara></listitem> </itemizedlist> </section> <section id="migration5.databases"> <title>Databases</title> <para> Er waren enkele veranderingen in PHP 5 omtrent databases (MySQL en SQLite). </para> <para> In PHP 5 zijn de MySQL client libraries niet gebundeld, wegens onderandere licentieproblemen. Voor meer informatie, lees de <link linkend="faq.databases.mysql.php5">FAQ entry</link>. </para> <para> Er is ook een nieuwe extensie, <link linkend="ref.mysqli">MySQLi (Improved MySQL)</link>, welke ontworpen is om te werken met MySQL 4.1 en hoger. </para> <para> Sinds PHP 5, is de <link linkend="ref.sqlite">SQLite</link> extensie in PHP ingebouwd. SQLite is een inbouwbare SQL database engine en is geen client library die gebruikt wordt om te verbinden met een grote database server (zoals MySQL of PostgreSQL). De SQLite library leest en schrijft direct naar en van de database bestanden op de schijf. </para> </section> <section id='migration5.oop'> <title>Nieuw Object Model</title> <para> In PHP 5 is er een nieuw Object Model. PHP's handelen van objecten is helemaal herschreven, wat betere prestaties en meer features toelaat. Gelieve <ulink url="http://www.php.net/zend-engine-2.php">http://www.php.net/zend-engine-2.php</ulink> te lezen voor meer informatie. </para> </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:"../../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 -->
« previous php.doc.nl (#314) next »