<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://wiki.php.net/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://wiki.php.net/feed.php">
        <title>PHP Wiki rfc</title>
        <description></description>
        <link>http://wiki.php.net/</link>
        <image rdf:resource="http://wiki.php.net/lib/images/favicon.ico" />
       <dc:date>2009-11-23T09:57:13+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/altmbstring?rev=1248681676&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/array_count_handlers?rev=1215639679&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/autoload_include?rev=1258909484&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/automatic_get_set_methods?rev=1229456963&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/backslashnamespaces?rev=1224942892&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/better_benchmarks?rev=1248095413&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/boxingandunboxing?rev=1246897361&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/calltimebyref?rev=1235065490&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/class_casting_to_scalar?rev=1228837771&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/class_posing?rev=1231584244&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/closures?rev=1218481568&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/customfactories?rev=1258564946&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/dtrace?rev=1248095217&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/e-user-deprecated-warning?rev=1216633610&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/errors_as_exceptions?rev=1248441783&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/extdep?rev=1234996327&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/extensionsiberia?rev=1208198658&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/functional-elements?rev=1205746698&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/functionarraydereferencing?rev=1241243315&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/functiongetentropy?rev=1237166352&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/heredoc-with-double-quotes?rev=1214412336&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/horizontalreuse?rev=1255632141&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/ifsetor?rev=1214121690&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/invokable?rev=1217693530&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/iteration-tools?rev=1225724272&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/karma-ml?rev=1226078260&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/lemon?rev=1209829291&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/lsb_parentself_forwarding?rev=1227951757&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/magicquotes?rev=1208394091&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/managinglisttraffic?rev=1225741049&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/mixin?rev=1221129050&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/namespacecurlies?rev=1220189878&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/namespaceissues?rev=1224164718&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/namespaceref?rev=1224024235&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/namespaceresolution?rev=1225812470&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/namespaces-for-internal-classes?rev=1213730733&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/namespaces?rev=1221529654&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/namespaceseparator?rev=1225178783&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/newinis?rev=1234854302&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/nonbreakabletraits?rev=1205446171&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/pdonotices?rev=1255424943&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/pdov1?rev=1239386066&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/peclversioning?rev=1219063791&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/php_native_interface?rev=1241260152&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/phpvcs?rev=1242567165&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/propertygetsetsyntax?rev=1253142104&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/protectedlookup?rev=1212509361&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/releaseprocess?rev=1237973243&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/remove_zend_api?rev=1242129793&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/rounding?rev=1228236320&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/session_upload_progress?rev=1222507757&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/shortags?rev=1239864297&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/shortsyntaxforarrays?rev=1212163944&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/spl-namespace?rev=1216653483&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/static-classes?rev=1210418721&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/streamline-phar-api?rev=1206720156&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/svnexternals?rev=1214926408&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/taint?rev=1214162757&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/template?rev=1207563677&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/tls?rev=1219777477&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/traits?rev=1255613181&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/typechecking?rev=1246654366&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/typecheckingstrictandweak?rev=1246948475&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/typecheckingstrictonly?rev=1256239875&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/typecheckingweak?rev=1247413387&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/typehint?rev=1208451592&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.php.net/rfc/zendsignals?rev=1258783199&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://wiki.php.net/lib/images/favicon.ico">
        <title>PHP Wiki</title>
        <link>http://wiki.php.net/</link>
        <url>http://wiki.php.net/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://wiki.php.net/rfc/altmbstring?rev=1248681676&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-27T08:01:16+00:00</dc:date>
        <title>rfc:altmbstring</title>
        <link>http://wiki.php.net/rfc/altmbstring?rev=1248681676&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;====== Request for Comments: Alternative implementation of mbstring using ICU ======&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Version: 1.0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Date: 2009-07-27&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Author: Moriyoshi Koizumi &amp;lt;moriyoshi@php.net&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: Under Discussion&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/altmbstring&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This RFC discusses the alternative implementation of mbstring extension that in turn uses ICU instead of libmbfl.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Rationale =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Ever since its introduction in the very first version of PHP 4, mbstring extension has been controversial in a sense supposedly owing to the following reasons:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * Lack of understanding -- It took long for those who don't use Unicode or other non-single-byte codesets to figure out how essential the functionality this extension covers, just until recently.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * Huge bundled libraries -- One of the bundled libraries, libmbfl, consists of a large set of Unicode-to-legacy charset mapping tables and vice versa. This may look redundant to those who aren't interested in manipulating multibyte strings.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * Limited support for locales -- libmbfl has a setting called &amp;quot;NLS&amp;quot; that determines the defaults for several functions, but only a random list of locales are supported; Armenian, Chinese (simplified and traditional), English, German, Japanese, Korean, Russian and Turkish (yes, French is not there...). &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * Incompliancy with the standards -- Character cases are not well handled in a case-insensitive matches performed by stripos(), strripos() and so on because libmbfl doesn't implement Unicode collations.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;To overcome these issues, a complete rewrite of the extension has long been wanted.&amp;nbsp; But it didn't come into reality because there was no good Unicode library.&amp;nbsp; Now that ICU is stable and we already relies on it (intl in 5.3), why not make it happen?&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Preliminary stuff =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;It is currently hosted by GitHub.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;http://github.com/moriyoshi/mbstring-ng/&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Implemented functions ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_convert_encoding()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_detect_encoding()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_ereg()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_ereg_replace()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_internal_encoding()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_list_encodings()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_output_handler()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_parse_str()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_preferred_mime_name()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_regex_set_options()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_split()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strcut()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strimwidth()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_stripos()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_stristr()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strlen()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strpos()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strripos()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strrpos()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strstr()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strtolower()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strtotitle()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strtoupper()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strwidth()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_substr()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_substr_count()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Removed (deprecated) functions and reasons behind it ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_check_encoding() -- Not that usable as it is advertised, period.&amp;nbsp; First of all, validation in terms of encoding is just as same as filtering through the converter supplied with the same value for the input and output encoding.&amp;nbsp; Thus just use mb_convert_encoding(). &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_convert_case() -- Use mb_strtoupper(), mb_strtolower() and mb_strtotitle()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_convert_kana() -- This can't be standard-compliant. In addition, part of the functionality is already covered by Normalizer of intl extension, so we need to carefully consider what is actually needed here again.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_convert_variables() -- This can be implemented as a script.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_decode_mimeheader() and mb_encode_mimeheader() -- Non-standard compliancy.&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_decode_numericentity() -- Removed in favor of html_entity_decode().&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_encode_numericentity() -- Removed in favor of htmlentities() and htmlspecialchars().&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_encoding_aliases() -- Just unnecessary.&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_ereg_match() -- Use mb_ereg()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_ereg_search(), mb_ereg_search_getpos(), mb_ereg_search_getregs(), mb_ereg_search_init(), mb_ereg_search_pos(), mb_ereg_search_regs() and mb_ereg_search_setpos() -- I rarely heard a script that actively uses these functions. They involve an internal state that is not visible to users, and thus it most likely causes confusion when used across the function calls. Need to be reimplemented as a class.&amp;nbsp; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_eregi() -- Use mb_regex_options() and mb_ereg()&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_eregi_replace() -- I wonder why this function was added in the first place because giving 'i' option to mb_ereg_replace() works in the same way.&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_detect_order(), mb_get_info(), mb_http_input(), mb_http_output(), mb_language() and mb_substitute_character() --&amp;nbsp; ini_set() and ini_get() are your friends, I guess...&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_regex_encoding() -- It is really confusing that the current mbstring allows two different encoding defaults for regex functions and the rest.&amp;nbsp; Those settings are unified in the alternative version and so this is no longer necessary.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_send_mail() -- The behavior of this function relies on the pseudo-locale setting called &amp;quot;mbstring.language&amp;quot; that supports just a limited set of possible locales. As not everyone can benefit from the function and most significant applications implement their own mail functions, I suppose this is no longer wanted.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strrchr() -- Use mb_strrpos().&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_strrichr() -- Use mb_strripos().&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Known / remaining limitations and incompatibilities ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * mb_detect_encoding() doesn't work well anymore due to the inaccuracy of ICU's encoding detection.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * Request encoding translator now takes advantage of SAPI filter, therefore the name parts of the query components are not to be converted anymore.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * The features supported by ICU's regular expression engine is not as rich as of Oniguruma, which resulted in the reduced set f options for mb_regex_set_options(). With respect to this, I also extracted the regex functions from the former mbstring and repackaged it to be [[http://github.com/moriyoshi/php-oniguruma/tree/master|oniguruma extension]]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * The group reference placeholders for mb_ereg_replace() is now $0, $1, $2... instead of \0, \1, \2.&amp;nbsp; This can be avoided if we don't use uregex_replaceAll() and implement our own.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  * ILP64&amp;nbsp; :-P &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  - 2009-07-27 Moriyoshi Koizumi: Initial&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/array_count_handlers?rev=1215639679&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-07-09T21:41:19+00:00</dc:date>
        <title>rfc:array_count_handlers</title>
        <link>http://wiki.php.net/rfc/array_count_handlers?rev=1215639679&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1215000160&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-06-25&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-06-25&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Etienne Kneuss &amp;lt;colder@php.net&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Etienne Kneuss &amp;lt;colder@php.net&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Draft&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Implemented&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/autoload_include?rev=1258909484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-11-22T17:04:44+00:00</dc:date>
        <title>rfc:autoload_include</title>
        <link>http://wiki.php.net/rfc/autoload_include?rev=1258909484&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1258909484&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 55:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 55:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;However Stas notes that this would &amp;quot;this would break security distinction between file ops and include ops, when URLs are allowed for open but not include&amp;quot;, but Greg notes this should be solvable since &amp;quot;the wrapper used to open the file pointer is stored in the resource, so we can just check it against the same restrictions we would for static urls&amp;quot;. That being said Stas additionally notes that this could pose challenges for byte code caches since they would have to &amp;quot;watch all file opens, in case some of these will later be used for include&amp;quot; as well as &amp;quot;somehow be able to get filename back from open stream to get the cached file&amp;quot;.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;However Stas notes that this would &amp;quot;this would break security distinction between file ops and include ops, when URLs are allowed for open but not include&amp;quot;, but Greg notes this should be solvable since &amp;quot;the wrapper used to open the file pointer is stored in the resource, so we can just check it against the same restrictions we would for static urls&amp;quot;. That being said Stas additionally notes that this could pose challenges for byte code caches since they would have to &amp;quot;watch all file opens, in case some of these will later be used for include&amp;quot; as well as &amp;quot;somehow be able to get filename back from open stream to get the cached file&amp;quot;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Add function to resolve the include path ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Add function to resolve the include path ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Either add a &amp;quot;use_include_path&amp;quot; flag to file_exists() or add a new file_find() function that supports searching the include path and returns the absolute path to the first match or false if none could be found. The later would be superior since it would also enable the optional feature mentioned above. It would still however require file system access twice, though it would only have to resolve the include path once. It also does not solve the edge case of a race condition, which however seems very rare for files that are included via autoload. There is actually already an implementation which was put into HEAD aka PHP6 as the result of a [[http://devzone.zend.com/node/view/id/1514#Heading7|previous discussion]]. That being said the current implementation needs some tweaks as Greg points out:&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Either add a &amp;quot;use_include_path&amp;quot; flag to file_exists() or add a new file_find() function that supports searching the include path and returns the absolute path to the first match or false if none could be found. The later would be superior since it would also enable the optional feature mentioned above. It would still however require file system access twice, though it would only have to resolve the include path once. It also does not solve the edge case of a race condition, which however seems very rare for files that are included via autoload. There is actually already an implementation which was put into HEAD aka PHP6 as the result of a [[http://devzone.zend.com/node/view/id/1514#Heading7|previous discussion]]. &lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;That being said the current implementation needs some tweaks as Greg points out:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;quot;stream_resolve_include_path() as currently constructed could not be intercepted, and is actually unable to process an include_path that contains streams.&amp;nbsp; I'm guessing it was written long before PHP 5.3. This could be easily fixed by having stream_resolve_include_path call zend_resolve_path() instead of doing its own internal calculations. With these changes, an opcode cache could easily cache the results.&amp;quot;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;quot;stream_resolve_include_path() as currently constructed could not be intercepted, and is actually unable to process an include_path that contains streams.&amp;nbsp; I'm guessing it was written long before PHP 5.3. This could be easily fixed by having stream_resolve_include_path call zend_resolve_path() instead of doing its own internal calculations. With these changes, an opcode cache could easily cache the results.&amp;quot;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/automatic_get_set_methods?rev=1229456963&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-12-16T19:49:23+00:00</dc:date>
        <title>rfc:automatic_get_set_methods</title>
        <link>http://wiki.php.net/rfc/automatic_get_set_methods?rev=1229456963&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;====== Request for Comments: Automatic get/set methods for objects ======&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Version: 1.0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Date: 2008-12-16&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Author: Michael Kimsal &amp;lt;michael@kimsal.com&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: Under Discussion&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/automatic_get_set_methods&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Currently, PHP only allows for defining functionality during access to properties on an object when those properties are not defined in the class.&amp;nbsp; This proposal will outline a suggested change to PHP's behaviour when dealing with object properties which will allow for compact code when necessary, and easy refactoring of code when necessary with a minimum of fuss.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Proposal version 1 =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;When a class is initialized at runtime, each property will have a 'get' and a 'set' method created for it which will handle basic 'get/set' functionality.&amp;nbsp; If a get or set method exists for the given property, then the corresponding auto-generated method would not be auto-generated.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Proposal version 2 =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;When a property on an object is attempted to be read, the PHP engine will look for a corresponding getXXX() method for the given property.&amp;nbsp; If one exists, that methods will be executed.&amp;nbsp; If not, the property will be returned (subject the public/protected/private visibility).&amp;nbsp; Similarly, when a property on an object is attempted to be set, the PHP engine will look for a corresponding setXXX() method.&amp;nbsp; If one exists, that method will be executed.&amp;nbsp; Otherwise, the property will be set normally (subject to public/protected/private visibility).&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Benefits =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This will allow for standard PHP code with property access logic to be written without the need for writing corresponding boilerplate get/set methods up front.&amp;nbsp; Only when non-standard or extra logic needs to be applied to a property during reading or writing&amp;nbsp; would get/set methods for those properties need to be written.&amp;nbsp; This will reduce code size and make it more clear that 'out of the ordinary' logic is happening in the given code.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Also, when dealing with existing classes that are not written with traditional get/set methods for each property, this proposed change would make it easier to add in new functionality without the need for extensive refactoring of code that's using the classes in question.&amp;nbsp; For example, rather than needing to update code such as $calendar-&amp;gt;dayOfWeek to be $calendar-&amp;gt;getDayOfWeek() in the calling code, the code using the calendar library can remain untouched, and a getDayOfWeek() method can be added to the calendar class, introducing some extra functionality in the calculation of the day of the week (in this example).&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Initial draft.&amp;nbsp; Full idea not fleshed out entirely with code examples yet.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/backslashnamespaces?rev=1224942892&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-10-25T13:54:52+00:00</dc:date>
        <title>rfc:backslashnamespaces</title>
        <link>http://wiki.php.net/rfc/backslashnamespaces?rev=1224942892&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1224942892&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 287:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 287:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * because \ is a single keystroke, it is possible to require \ prefix for all global functions/classes/constants, and conversion is minimally effortful (from personal experience trying to convert files to several namespace separators to see what it was like)&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * because \ is a single keystroke, it is possible to require \ prefix for all global functions/classes/constants, and conversion is minimally effortful (from personal experience trying to convert files to several namespace separators to see what it was like)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * code review ambiguities disappear permanently&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * code review ambiguities disappear permanently&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * name resolution order problems disappear if we decide that &amp;quot;foo&lt;strong&gt;/&lt;/strong&gt;bar&amp;quot; or &amp;quot;foo::bar&amp;quot; is always prefixed with namespace name, and only short names like &amp;quot;bar()&amp;quot; or &amp;quot;new bar&amp;quot; are checked for both &amp;quot;nsname&lt;strong&gt;/&lt;/strong&gt;bar()&amp;quot; and internal function &amp;quot;bar()&amp;quot; or &amp;quot;class nsname&lt;strong&gt;/&lt;/strong&gt;bar&amp;quot; and internal class &amp;quot;bar&amp;quot;.&amp;nbsp; &amp;quot;&lt;strong&gt;/&lt;/strong&gt;foo&lt;strong&gt;/&lt;/strong&gt;bar&amp;quot; is used for global scoping.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * name resolution order problems disappear if we decide that &amp;quot;foo&lt;strong&gt;\&lt;/strong&gt;bar&amp;quot; or &amp;quot;foo::bar&amp;quot; is always prefixed with namespace name, and only short names like &amp;quot;bar()&amp;quot; or &amp;quot;new bar&amp;quot; are checked for both &amp;quot;nsname&lt;strong&gt;\&lt;/strong&gt;bar()&amp;quot; and internal function &amp;quot;bar()&amp;quot; or &amp;quot;class nsname&lt;strong&gt;\&lt;/strong&gt;bar&amp;quot; and internal class &amp;quot;bar&amp;quot;.&amp;nbsp; &amp;quot;&lt;strong&gt;\&lt;/strong&gt;foo&lt;strong&gt;\&lt;/strong&gt;bar&amp;quot; is used for global scoping.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * code coverage of namespace-related code is so good, it is possible to be very confident of the correctness of the patch.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * code coverage of namespace-related code is so good, it is possible to be very confident of the correctness of the patch.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/better_benchmarks?rev=1248095413&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-20T13:10:13+00:00</dc:date>
        <title>rfc:better_benchmarks</title>
        <link>http://wiki.php.net/rfc/better_benchmarks?rev=1248095413&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1248095392&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 208:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 208:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * crypto-md5 (29.06.2009)&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * crypto-md5 (29.06.2009)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * richards (29.06.2009)&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * richards (29.06.2009)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Crypto-AES&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Still unfinished =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Still unfinished =====&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/boxingandunboxing?rev=1246897361&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-06T16:22:41+00:00</dc:date>
        <title>rfc:boxingandunboxing</title>
        <link>http://wiki.php.net/rfc/boxingandunboxing?rev=1246897361&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1246897105&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 17:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;The most obvious use for boxing is function and method type hints. The object type hints could be used to do implicit boxing of variables. Either a new magic method (''&amp;lt;nowiki&amp;gt;__&amp;lt;/nowiki&amp;gt;box'' for example) or a new interface (''Boxable'' for example) would need to be added to PHP. The boxing method would accept the scalar value and set its internal representation (similar to ''&amp;lt;nowiki&amp;gt;__&amp;lt;/nowiki&amp;gt;wakeup''). The method could either return false (and let PHP handle the failure) or throw an exception (''BoxingException'' for example) when the supplied value is not valid for the boxing operation.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;The most obvious use for boxing is function and method type hints. The object type hints could be used to do implicit boxing of variables. Either a new magic method (''&amp;lt;nowiki&amp;gt;__&amp;lt;/nowiki&amp;gt;box'' for example) or a new interface (''Boxable'' for example) would need to be added to PHP. The boxing method would accept the scalar value and set its internal representation (similar to ''&amp;lt;nowiki&amp;gt;__&amp;lt;/nowiki&amp;gt;wakeup''). The method could either return false (and let PHP handle the failure) or throw an exception (''BoxingException'' for example) when the supplied value is not valid for the boxing operation.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;It would be best for PHP to include as many object versions of scalar types as possible. The boxing functionality could be added to the SPL Types (([[http://&lt;strong&gt;.&lt;/strong&gt;php.net/manual/en/book.spl-types.php|SPL Types]])) to provide for standard representations of the scalar types. The power to box variables would also be available in userland classes.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;It would be best for PHP to include as many object versions of scalar types as possible. The boxing functionality could be added to the SPL Types (([[http://php.net/manual/en/book.spl-types.php|SPL Types]])) to provide for standard representations of the scalar types. The power to box variables would also be available in userland classes.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;It could also be possible to try to perform implicit conversions from one object type to another, but the overhead of this feature may be too much. Consider it as an option only.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;It could also be possible to try to perform implicit conversions from one object type to another, but the overhead of this feature may be too much. Consider it as an option only.&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/calltimebyref?rev=1235065490&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-02-19T17:44:50+00:00</dc:date>
        <title>rfc:calltimebyref</title>
        <link>http://wiki.php.net/rfc/calltimebyref?rev=1235065490&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1211376592&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 16:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Before PHP 4.0 was released, ''allow_call_time_pass_reference'' was introduced as a means of retaining back compatibility with PHP 3, at the point where returning by reference from a function declaration became possible [1]. By default, the INI switch has been On since inception [2]. The warning (formerly ''E_COMPILE_WARNING'' but currently ''E_DEPRECATED'') is only thrown if the INI switch is Off. You therefore need to **explicitly** switch off the directive in order to discover that the behaviour is deprecated.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Before PHP 4.0 was released, ''allow_call_time_pass_reference'' was introduced as a means of retaining back compatibility with PHP 3, at the point where returning by reference from a function declaration became possible [1]. By default, the INI switch has been On since inception [2]. The warning (formerly ''E_COMPILE_WARNING'' but currently ''E_DEPRECATED'') is only thrown if the INI switch is Off. You therefore need to **explicitly** switch off the directive in order to discover that the behaviour is deprecated.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;At the time ''allow_call_time_pass_reference'' was introduced, php.ini-recommended was interestingly referred to as 'php.ini-optimized'. Over the years, it has become fairly standard to regard php.ini-recommended as 'production settings'; things like ''display_errors=Off'' and ''log_errors=On'' have helped this perception along. For the last 8 years, therefore, the first anyone is likely to have known about their code being less than kosher is when it went live.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;At the time ''allow_call_time_pass_reference'' was introduced, php.ini-recommended was interestingly referred to as 'php.ini-optimized'. Over the years, it has become fairly standard to regard php.ini-recommended as 'production settings'; things like ''display_errors=Off'' and ''log_errors=On'' have helped this perception along&lt;strong&gt;. From inception, ''allow_call_time_pass_reference'' was switched ''Off'' in php.ini-recommended but ''On'' in php.ini-dist and by default&lt;/strong&gt;. For the last 8 years, therefore, the first anyone is likely to have known about their code being less than kosher is when it went live.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Even in the current php.ini-recommended, the switch is attributed only to 'Code cleanliness'. The full entry in the heading about changed settings reads:&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Even in the current php.ini-recommended, the switch is attributed only to 'Code cleanliness'. The full entry in the heading about changed settings reads:&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/class_casting_to_scalar?rev=1228837771&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-12-09T15:49:31+00:00</dc:date>
        <title>rfc:class_casting_to_scalar</title>
        <link>http://wiki.php.net/rfc/class_casting_to_scalar?rev=1228837771&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1227529727&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 39:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * None yet&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * None yet&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Bugs ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * When used with math operators, it seems we *have* to cast to integer if not explictly requested in the code. TODO: find a way to force our way with a float value if needed&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/class_posing?rev=1231584244&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-01-10T10:44:04+00:00</dc:date>
        <title>rfc:class_posing</title>
        <link>http://wiki.php.net/rfc/class_posing?rev=1231584244&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1218955732&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;====== Request for Comments: Class Posing ======&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;====== Request for Comments: Class Posing ======&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Version: 1.0 &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Version: 1.0&lt;strong&gt;.1&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Date: &lt;strong&gt;2008&lt;/strong&gt;-&lt;strong&gt;08&lt;/strong&gt;-&lt;strong&gt;17&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Date: &lt;strong&gt;2009&lt;/strong&gt;-&lt;strong&gt;01&lt;/strong&gt;-&lt;strong&gt;10&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Sebastian Bergmann &amp;lt;sb@sebastian-bergmann.de&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Sebastian Bergmann &amp;lt;sb@sebastian-bergmann.de&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 15:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Use Cases for Class Posing ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Use Cases for Class Posing ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;=== Extending a class and have other classes use the extended class ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Sometimes when you extend a class it would be nice if classes related to the extended class would return objects of the extended class. Consider the following example:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;code php&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;?php&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;class MyReflectionMethod extends ReflectionMethod&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;{&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; public function getSource()&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $file&amp;nbsp;  = file($this-&amp;gt;getFileName());&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $result = '';&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $start&amp;nbsp; = $this-&amp;gt;getStartLine() - 1;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $end&amp;nbsp; &amp;nbsp; = $this-&amp;gt;getEndLine()&amp;nbsp;  - 1;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for ($line = $start; $line &amp;lt;= $end; $line++) {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $result .= $file[$line];&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $result;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;?&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;The code above can be uses just fine like this:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;code php&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;?php&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;$method = new MyReflectionMethod('className', 'methodName');&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;?&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;''ReflectionClass::getMethod()'', for instance, still returns an object of ''ReflectionMethod'', making it tedious to work with the extended class.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;=== Unit Testing and Mock Objects ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;In a unit test, mock objects can simulate the behavior of complex, real (non-mock) objects and are therefore useful when a real object is difficult or impossible to incorporate into a unit test.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;In a unit test, mock objects can simulate the behavior of complex, real (non-mock) objects and are therefore useful when a real object is difficult or impossible to incorporate into a unit test.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 133:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 170:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;====== Changelog ======&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;====== Changelog ======&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * 2008-08-17 Sebastian Bergmann: Initial version.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * 2008-08-17 Sebastian Bergmann: Initial version.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * 2009-01-10 Sebastian Bergmann: Added additional use case.&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/closures?rev=1218481568&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-08-11T19:06:08+00:00</dc:date>
        <title>rfc:closures</title>
        <link>http://wiki.php.net/rfc/closures?rev=1218481568&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1228236384&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 172:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 172:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Interaction with OOP ===&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Interaction with OOP ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;$this support has been removed, see [[rfc/closures/removal-of-this|removal of this]]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;If a closure is defined inside an object, the closure has full access to the current object through $this (without the need to import it explicitly) and all private and protected methods of that class. This also applies to nested closures. Example:&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;If a closure is defined inside an object, the closure has full access to the current object through $this (without the need to import it explicitly) and all private and protected methods of that class. This also applies to nested closures. Example:&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/customfactories?rev=1258564946&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-11-18T17:22:26+00:00</dc:date>
        <title>rfc:customfactories</title>
        <link>http://wiki.php.net/rfc/customfactories?rev=1258564946&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1258557639&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 120:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 120:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Now &amp;quot;Foo&amp;quot; does not depend on any specific implementation, neither on an actual ObjectFactory nor on a specific Email implementation. But this comes with a price: At most places where the &amp;quot;new&amp;quot; operator would usually be used to instantiate classes, the ObjectFactory or some other kind of factory needs to be called. If the mechanism of Dependency Injection is consequently used, this results in a lot of additional typing and many classes will need the ObjectFactory getting injected by the surrounding framework.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Now &amp;quot;Foo&amp;quot; does not depend on any specific implementation, neither on an actual ObjectFactory nor on a specific Email implementation. But this comes with a price: At most places where the &amp;quot;new&amp;quot; operator would usually be used to instantiate classes, the ObjectFactory or some other kind of factory needs to be called. If the mechanism of Dependency Injection is consequently used, this results in a lot of additional typing and many classes will need the ObjectFactory getting injected by the surrounding framework.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Proposal =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Proposal =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 153:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 152:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;class Foo {&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;class Foo {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;	public function bar() {&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;	public function bar() {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;			// Instantiate by class name:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;		$email = new Email();&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;			// or even instantiate by interface name (the factory needs to find the right implementation):&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;		$email = new EmailInterface();&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;		$email = new EmailInterface();&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;	}&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;	}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 174:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 176:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;[2] Robert Lemke, &amp;quot;FLOW3 Object Framework&amp;quot;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;[2] Robert Lemke, &amp;quot;FLOW3 Object Framework&amp;quot;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;http://flow3.typo3.org/documentation/manuals/flow3/flow3.objectframework/&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;http://flow3.typo3.org/documentation/manuals/flow3/flow3.objectframework/&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/dtrace?rev=1248095217&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-20T13:06:57+00:00</dc:date>
        <title>rfc:dtrace</title>
        <link>http://wiki.php.net/rfc/dtrace?rev=1248095217&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1248095145&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2009-07-14&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2009-07-14&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: David Soria Parra &amp;lt;david.soriaparra@sun.com&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: David Soria Parra &amp;lt;david.soriaparra@sun.com&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Accepted&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Implemented&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/dtrace&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/dtrace&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Patch: http://patches.experimentalworks.net/dtrace.patch&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Patch: http://patches.experimentalworks.net/dtrace.patch&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/e-user-deprecated-warning?rev=1216633610&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-07-21T09:46:50+00:00</dc:date>
        <title>rfc:e-user-deprecated-warning</title>
        <link>http://wiki.php.net/rfc/e-user-deprecated-warning?rev=1216633610&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1216418710&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-07-18&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-07-18&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Lars Strojny &amp;lt;lstrojny@php.net&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Lars Strojny &amp;lt;lstrojny@php.net&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Under Discussion&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Accepted&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/e-user-deprecated-warning&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/e-user-deprecated-warning&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/errors_as_exceptions?rev=1248441783&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-24T13:23:03+00:00</dc:date>
        <title>rfc:errors_as_exceptions</title>
        <link>http://wiki.php.net/rfc/errors_as_exceptions?rev=1248441783&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;====== Request for Comments: Exceptions instead of Errors ======&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Version: 1.0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Date: 2009-07-24&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Author: Ben Scholzen &amp;lt;mail@dasprids.de&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: Under Discussion&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/errors_as_exceptions&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This RFC will discuss the usage of exceptions instead of the usual, not catchable, errors.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Exceptions are a proper way of handling errors and are used in many other languages exclusivley.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Why do we need exceptions instead of errors? ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Currently it is not easy to work around **expected** errors comming from PHP. This does not include errors like E_NOTICE or E_DEPRECATED, but mainly E_WARNING. We frequently notice this problem in the Zend Framework, where it either is bad to performance to use the shut-up-operator (@) and/or there is just no other way instead of supressing an error.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Common Misconceptions =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;When, for instance, loading an XML file with simplexml_load_file(), it will throw an E_WARNING when the XML is not valid. When the XML is comming from an external source, you can never be sure beforehand if it will be valid or not, so the only thing you can currently do is supressing the error and checking for the return-value &amp;quot;false&amp;quot;. This error supression not only costs time, but also avoids to check for the type of the error (may it be an invalid XML itself, the XML not conforming to the defined DTD or something else). Another example would be fsockopen(), which, when it times out, not only returns false, but also throws an E_WARNING again.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;In all those cases it would be a prefered way to be able to simply catch the error as an exception.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Proposal and Patch =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;All E_WARNINGS should be replaced by exceptions (preferably, ErrorException). An alternative to keep BC would be to allow the try/catch block to also catch errors (either only E_WARNINGS or also other error levels). In that case, error_reporting() set to 0 should not stop the try/catch block to catch that error.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== More about Exceptions ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;http://de3.php.net/error_exception&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/extdep?rev=1234996327&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-02-18T22:32:07+00:00</dc:date>
        <title>rfc:extdep</title>
        <link>http://wiki.php.net/rfc/extdep?rev=1234996327&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1234996209&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 12:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Describe how we could implement an extension dependency system to prevent system errors (symbol not found) and to avoid complex changes for the developers and users. The goal is to keep a single line in the config.* files, using the ADD_EXTENSION_DEP macro.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Describe how we could implement an extension dependency system to prevent system errors (symbol not found) and to avoid complex changes for the developers and users. The goal is to keep a single line in the config.* files, using the ADD_EXTENSION_DEP macro.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;==== Why do we need RFCs? ====&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Common Misconceptions =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Common Misconceptions =====&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/extensionsiberia?rev=1208198658&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-14T18:44:18+00:00</dc:date>
        <title>rfc:extensionsiberia</title>
        <link>http://wiki.php.net/rfc/extensionsiberia?rev=1208198658&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1208198450&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Siberia, the &lt;strong&gt;graveyard &lt;/strong&gt;for PHP Extensions&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Siberia, the &lt;strong&gt;cemetery &lt;/strong&gt;for PHP Extensions&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;TBW&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;TBW&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/functional-elements?rev=1205746698&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-03-17T09:38:18+00:00</dc:date>
        <title>rfc:functional-elements</title>
        <link>http://wiki.php.net/rfc/functional-elements?rev=1205746698&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1205746698&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 57:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 57:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== UC-2: Iterating over an aggregation of objects and keeping the results ===&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== UC-2: Iterating over an aggregation of objects and keeping the results ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;code php&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;code php&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;$result = new CallIterator($list, 'method'));&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;$result = &lt;strong&gt;iterate(&lt;/strong&gt;new CallIterator($list, 'method')&lt;strong&gt;, true&lt;/strong&gt;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/functionarraydereferencing?rev=1241243315&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-05-02T05:48:35+00:00</dc:date>
        <title>rfc:functionarraydereferencing</title>
        <link>http://wiki.php.net/rfc/functionarraydereferencing?rev=1241243315&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1213651936&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;====== Function Array Dereferencing (FAD) ======&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;====== Function Array Dereferencing (FAD) ======&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Version: 0.&lt;strong&gt;1&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Version: 0.&lt;strong&gt;2&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Date: June 16, 2008&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Date: June 16, 2008 &lt;strong&gt;(added) &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;nbsp; * Date: May&amp;nbsp; 01, 2009 (declined)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Philip Olson &amp;lt;philip@roshambo.org&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Philip Olson &amp;lt;philip@roshambo.org&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Information Gathering&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Declined&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;This RFC is incomplete and &lt;strong&gt;[currently] &lt;/strong&gt;exists as a historical record for the discussion of this feature request.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;Note: This RFC was given the &amp;quot;declined&amp;quot; status because it was never implemented or strongly desired. However, no official discussion exists to &amp;quot;decline&amp;quot; except CVS does not lie, and it's not in CVS. &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This RFC is incomplete and exists as a historical record for the discussion of this feature request.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Proposal and Patch =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Proposal and Patch =====&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/functiongetentropy?rev=1237166352&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-03-16T01:19:12+00:00</dc:date>
        <title>rfc:functiongetentropy</title>
        <link>http://wiki.php.net/rfc/functiongetentropy?rev=1237166352&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1228013347&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 21:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;?php&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;?php&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;$nonce = unpack('h', getEntropy(128));&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;$nonce = unpack('h', getEntropy(128));&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;echo '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;csrf&amp;quot; value=&amp;quot;' . $nonce . '&amp;quot;&amp;gt;;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;csrf&amp;quot; value=&amp;quot;' . $nonce . '&amp;quot;&amp;gt;&lt;strong&gt;'&lt;/strong&gt;;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;$_SESSION['csrf'] = $nonce;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;$_SESSION['csrf'] = $nonce;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/heredoc-with-double-quotes?rev=1214412336&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-06-25T16:45:36+00:00</dc:date>
        <title>rfc:heredoc-with-double-quotes</title>
        <link>http://wiki.php.net/rfc/heredoc-with-double-quotes?rev=1214412336&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1207563768&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 4:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Date:** 2008-03-22&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Date:** 2008-03-22&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Author:** Lars Strojny&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Author:** Lars Strojny&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * **Status:** [[http://news.php.net/php.zend-engine.cvs/6597|Accepted]]&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * **Status:** [[http://news.php.net/php.zend-engine.cvs/6597|Accepted]] &lt;strong&gt;(Implemented in PHP 5.3)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Votes:** (+6/-4)&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Votes:** (+6/-4)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; * **Pro:** [[http://marc.info/?l=php-internals&amp;amp;m=120679140717702&amp;amp;w=2|Pierre A. Joye]], [[http://marc.info/?l=php-internals&amp;amp;m=120674698503890&amp;amp;w=2|Felipe Pena]] , [[http://marc.info/?l=php-internals&amp;amp;m=120636366616273&amp;amp;w=2|Marcus Boerger]], [[http://marc.info/?l=php-internals&amp;amp;m=120671376003536&amp;amp;w=2|Gwynne Raskind]], Christopher Jones, Lars Strojny&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; * **Pro:** [[http://marc.info/?l=php-internals&amp;amp;m=120679140717702&amp;amp;w=2|Pierre A. Joye]], [[http://marc.info/?l=php-internals&amp;amp;m=120674698503890&amp;amp;w=2|Felipe Pena]] , [[http://marc.info/?l=php-internals&amp;amp;m=120636366616273&amp;amp;w=2|Marcus Boerger]], [[http://marc.info/?l=php-internals&amp;amp;m=120671376003536&amp;amp;w=2|Gwynne Raskind]], Christopher Jones, Lars Strojny&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/horizontalreuse?rev=1255632141&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-10-15T18:42:21+00:00</dc:date>
        <title>rfc:horizontalreuse</title>
        <link>http://wiki.php.net/rfc/horizontalreuse?rev=1255632141&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1252159866&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 961:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 961:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt; }&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt; }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt; ?&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt; ?&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Scala Synthax and practical example ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This is inpired from [[http://www.scala-lang.org/node/117]].&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;code php&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;trait User_Comments &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;{&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  function addComment($c)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db = App::getDb();&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db-&amp;gt;Execute(&amp;quot;INSERT INTO user_comments (type, type_id, user_id, text)VALUES ($c-&amp;gt;type, $c-&amp;gt;type_id, $c-&amp;gt;uid, $c-&amp;gt;text)&amp;quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  function getComments($filter)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  return array();&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  function removeComment($id)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db = App::getDb();&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db-&amp;gt;Execute(&amp;quot;DELETE FROM user_comments ... &amp;quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;class App_Email with User_Comments {}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;class App_Document with User_Comments&amp;nbsp; {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  function removeComment($id)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db = App::getDb();&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db-&amp;gt;Execute(&amp;quot;DELETE FROM user_comments ... &amp;quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db-&amp;gt;Execute(&amp;quot;UPDATE app_documents SET comments_count = ... &amp;quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;// PHP notice : 'User_Comments::removeComment() definition skipped in App_Document'&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;$doc = new App_Document;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo is_a($doc, 'App_Document');&amp;nbsp; &amp;nbsp;  // true&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo is_a($doc, 'User_Comments');&amp;nbsp; &amp;nbsp; // false&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo is_with($doc, 'User_Comments'); // true&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;We deal with conflicting class definitions by simply ignoring them.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;code php&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;trait Conflict_Comments &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;{&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  function removeComment($id)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  return false;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;class App_Document_Conflict with User_Comments, Conflict_Comments&amp;nbsp; {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  function removeComment($id)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db = App::getDb();&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db-&amp;gt;Execute(&amp;quot;DELETE FROM user_comments ... &amp;quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db-&amp;gt;Execute(&amp;quot;UPDATE app_documents SET comments_count = ... &amp;quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;// PHP notice : 'User_Comments::removeComment() definition skipped in App_Document_Conflict'&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;// PHP notice : 'Conflict_Comments::removeComment() definition skipped in App_Document_Conflict'&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;$doc = new App_Document_Conflict;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo is_a($doc, 'App_Document_Conflict');// true&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo is_with($doc, 'User_Comments');&amp;nbsp; &amp;nbsp;  // true&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo is_with($doc, 'Conflict_Comments'); // true&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/ifsetor?rev=1214121690&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-06-22T08:01:30+00:00</dc:date>
        <title>rfc:ifsetor</title>
        <link>http://wiki.php.net/rfc/ifsetor?rev=1214121690&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1230742513&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 139:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 139:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; - The default value can be omitted in which case NULL will be used.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; - The default value can be omitted in which case NULL will be used.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;http://&lt;strong&gt;marcus-boerger&lt;/strong&gt;.&lt;strong&gt;de/php/ext&lt;/strong&gt;/&lt;strong&gt;ze2&lt;/strong&gt;/ze2-ifsetor-20040901.diff.txt&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;http://&lt;strong&gt;php&lt;/strong&gt;.&lt;strong&gt;net&lt;/strong&gt;/&lt;strong&gt;~helly&lt;/strong&gt;/ze2-ifsetor-20040901.diff.txt&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Rejected Features =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Rejected Features =====&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/invokable?rev=1217693530&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-08-02T16:12:10+00:00</dc:date>
        <title>rfc:invokable</title>
        <link>http://wiki.php.net/rfc/invokable?rev=1217693530&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1217693463&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 13:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Currently, there is no sane way to detect whether an object can be invoked or not. What this RFC proposes is an interface that covers %%__invoke()%%:&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Currently, there is no sane way to detect whether an object can be invoked or not. What this RFC proposes is an interface that covers %%__invoke()%%:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;lt;code php&amp;gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;interface Invokable {&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;interface Invokable {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp;  public function __invoke($args);&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp;  public function __invoke($args);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 25:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 25:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;/* ... */&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;/* ... */&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;}&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;lt;/code&amp;gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;And make $obj(); possible only if the interface is implemented, and not only the method.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;And make $obj(); possible only if the interface is implemented, and not only the method.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;We have other examples of magic features that are covered by interfaces, like ArrayAccess or Iterator/Traversable.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;We have other examples of magic features that are covered by interfaces, like ArrayAccess or Iterator/Traversable.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/iteration-tools?rev=1225724272&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-11-03T14:57:52+00:00</dc:date>
        <title>rfc:iteration-tools</title>
        <link>http://wiki.php.net/rfc/iteration-tools?rev=1225724272&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1225724618&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 27:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Why do we need tools for iteration ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Why do we need tools for iteration ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Given that iteration is such a recurrent situation and conforming to the DRY principle, but also in total respect with common sense, an abstraction is required. Thankfully, patterns regarding iteration were observed almost &lt;strong&gt;fourty &lt;/strong&gt;years ago by some very smart people. These people found out that iterative processes can be abstracted away in a handful of functions.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Given that iteration is such a recurrent situation and conforming to the DRY principle, but also in total respect with common sense, an abstraction is required. Thankfully, patterns regarding iteration were observed almost &lt;strong&gt;forty &lt;/strong&gt;years ago by some very smart people. These people found out that iterative processes can be abstracted away in a handful of functions.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;For example:&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;For example:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; * some of the functions modify data in the set&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; * some of the functions modify data in the set&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 44:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 44:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;While these classes do their job they have some shortcomings:&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;While these classes do their job they have some shortcomings:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; * They only iterate over Traversables. Supporting arrays would be nice (Indeed, we have array_map(), array_walk() and some other similar functions for array processing, yet, I think we should unify these similar tools. Not to mention that array_* functions do not adhere to some param order standard.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; * They only iterate over Traversables. Supporting arrays would be nice (Indeed, we have array_map(), array_walk() and some other similar functions for array processing, yet, I think we should unify these similar tools. Not to mention that array_* functions do not adhere to some param order standard.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; &amp;nbsp; * FilterIterator, RecursiveFilterIterator and SearchIterator require declaration of an &lt;strong&gt;aditional &lt;/strong&gt;classes that extend them&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * FilterIterator, RecursiveFilterIterator and SearchIterator require declaration of an &lt;strong&gt;additional &lt;/strong&gt;classes that extend them&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; * CallbackFilterIterator, although I haven't had the chance to use it, it misses one important thing. It's not passing the iterator itself as a third parameter to the callback.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; * CallbackFilterIterator, although I haven't had the chance to use it, it misses one important thing. It's not passing the iterator itself as a third parameter to the callback.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 147:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 147:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;While the 1.2 example is very similar to 2.1 it differs from it in that it's not passing the iterator to the callback function and, of course, the fact that I use a function instead of an object. Another difference is that present implementation of CallbackFilterIterator (as documented on http://www.php.net/~helly/php/ext/spl/) may also be used as a virtual CallbackMapIterator. For example, it's not only filtering the elements of the iterator into a new iterator, but it MAY also change those values. In my proposal, the function that changes values is map() which translates a certain value to another depending on the callback function. filter() only keeps items that validate &lt;strong&gt;agains &lt;/strong&gt;certain criteria inside the callback function. I believe a clear distinction between these features must be reflected in the API, thus two different functions in my proposal.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;While the 1.2 example is very similar to 2.1 it differs from it in that it's not passing the iterator to the callback function and, of course, the fact that I use a function instead of an object. Another difference is that present implementation of CallbackFilterIterator (as documented on http://www.php.net/~helly/php/ext/spl/) may also be used as a virtual CallbackMapIterator. For example, it's not only filtering the elements of the iterator into a new iterator, but it MAY also change those values. In my proposal, the function that changes values is map() which translates a certain value to another depending on the callback function. filter() only keeps items that validate &lt;strong&gt;against &lt;/strong&gt;certain criteria inside the callback function. I believe a clear distinction between these features must be reflected in the API, thus two different functions in my proposal.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;=====Some &lt;strong&gt;aditional &lt;/strong&gt;benefits=====&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;=====Some &lt;strong&gt;additional &lt;/strong&gt;benefits=====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;As you have seen, my proposal includes a function called walk() which does exactly the same thing as a foreach construct. The real useful thing this function provides is the ability to mimic scope inside a foreach block. So, for example:&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;As you have seen, my proposal includes a function called walk() which does exactly the same thing as a foreach construct. The real useful thing this function provides is the ability to mimic scope inside a foreach block. So, for example:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 192:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 192:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Python:&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Python:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; * http://www.python.org/doc/2.5.2/tut/node7.html#SECTION007130000000000000000&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; * http://www.python.org/doc/2.5.2/tut/node7.html#SECTION007130000000000000000&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; &amp;nbsp; * http://www.python.org/doc/2.5.2/lib/itertools-functions.html (&lt;strong&gt;these &lt;/strong&gt;Python package differs quite much from what I have proposed, &lt;strong&gt;nevertheles &lt;/strong&gt;we may extract other useful things from there too)&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * http://www.python.org/doc/2.5.2/lib/itertools-functions.html (&lt;strong&gt;this &lt;/strong&gt;Python package differs quite much from what I have proposed, &lt;strong&gt;nevertheless &lt;/strong&gt;we may extract other useful things from there too)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/karma-ml?rev=1226078260&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-11-07T17:17:40+00:00</dc:date>
        <title>rfc:karma-ml</title>
        <link>http://wiki.php.net/rfc/karma-ml?rev=1226078260&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;====== Request for Comments: Karma-based Mailing List ======&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Version: 1.0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Date: 2008-11-07&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Author: Davey Shafik &amp;lt;davey@php.net&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: Under Discussion&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/karma-ml&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This RFC is to start a discussion on technical solutions to the noise:signal ratio on internals and other mailing lists.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== The Problem ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;The problem with mailing lists is that they are a free for all, it doesn't matter who posts, everybody at every level gets to see the post.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;In the real world, communications pass through a hierarchy of people, escalating as necessary, passing from person to person up the chain.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This means that, given enough time, any mailing list starts to have a large noise:signal ratio, at least for any given person's take on the list; they want to read what they want to read, and don't need to be distracted ignoring the stuff they don't want to read.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Solving the Problem =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;There is an unspoken — some what hap-hazard — hierarchy among the community, which with some thought, I believe, could be defined, refined and utilized to our advantage. As an example:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; - Active internals contributors with access to internals CVS (contributions of code and useful discussions)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; \&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  - Active internals contributiors without access to internals CVS (patch submitters, useful discussions)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  \ &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Active non-internals, PHP contributions (docs, phpweb, PEAR)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Active community leaders&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Active project leaders&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Active linux distro maintainers&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;  \ &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - General Users with a high understand&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  - Genernal users with little understanding (newbies)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;If we take each of these, and assign them a number:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;L1&amp;nbsp; - Active internals contributors with access to internals CVS (contributions of code and useful discussions)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; \&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;L2&amp;nbsp;  - Active internals contributiors without access to internals CVS (patch submitters, useful discussions)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;  \ &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;L3&amp;nbsp; &amp;nbsp; &amp;nbsp; - Active non-internals, PHP contributions (docs, phpweb, PEAR)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;L3&amp;nbsp; &amp;nbsp; &amp;nbsp; - Active community leaders&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;L3&amp;nbsp; &amp;nbsp; &amp;nbsp; - Active project leaders&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;L3&amp;nbsp; &amp;nbsp; &amp;nbsp; - Active linux distro maintainers&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  \ &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;L4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - General Users with a high understand&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;L5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  - Genernal users with little understanding (newbies)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Now, what if, at any level, you could only see (by default) 1 level below you (and all levels above you). For example: L1 can see L2, L2 can see L3 etc.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This immediately means that you only see stuff that might be relevant to you; however, as a community, we then lose the ability for newcomers to contribute good ideas; because they would start out with zero karma. To help solve this issue, we adjust karma based on responses:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Scenario ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * A L3 user posts something of interest&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * A L2 user see's the post and replies, the reply is L2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * This bumps the original post up to L2 as well, maintaining context&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * All L2 users can see the reply and the original thread&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * After a second (or more?) L2 response, an L1 see's the post now, and can then participate in the discussion if they choose&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;In this case, **only** the thread in question is bumped up, however given enough L2/L1 (weighted) direct responses over different threads, a L3 user can gain karma and eventually become a L2 user (and obviously this applies to anyone moving up the chain)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;In this way, threads (and by this mechanism, users also) can organically make their way up the tree as they gain traction, are discussed at each level and moved up.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Furthermore, by not responding to threads, they will organically die, and never make their way up the tree to bother people.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;I believe it would be possible to have a **single** mailing list that could span everything from internals right down to php-general, but this is probably not desired! It would however allow the users of a single list to, regardless of their experience in the tree, contribute without weighing down the list.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Features ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Karma tree seeded by current &amp;quot;social&amp;quot; climate&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;based on CVS access level, activity in a sliding timescale, community contributions etc&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Some manual work will be needed on this&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Weighted responses, a L2 responding to a L3, will move it to L2, but 2 L1's or 1 L2 and 1 L1 responding would move it to L1, for example.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Adjustable threshold. Perhaps some magnanimous internals contributor likes to help out newbies, he can choose to see the whole tree, or perhaps just 3 levels down&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Championing — it should be possible for a user to champion someone to quickly move them up the ladder, for example a L2 can bring a L5 up to L3, so their peers can see stuff, this is bringing the user up, not the thread&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Continued tweaking of karma based on CVS access and contributions&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Personal filters, you can add users (of any level) from whom you would like to see threads, helping the movement of stuff up the tree, skipping levels&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;In this way, we can, in some ways, automate the karma, and in someways advance it through our own choices; creating a hierarchy based on merit and trust.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Final Thoughts ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Some smart filtering, so that &amp;quot;You're an idiot&amp;quot; responses don't elevate a thread would be good&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * That, or just handle it biologically — Don't respond to people in negative ways&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Implementing this as a ML (in terms of interaction) is likely the only way to get some of the higher internals folks using it, a web interface [for the messages] just won't fly&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Personal filters would be handled at master.php.net or maybe a new web interface for this&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Comments ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;(paraphrased)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Greg Beaver: The only way to get the core contributors to use the system, is as a mailing list filter&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Lukas Smith: The automatic management is pretty good, but more transparency is needed for users on how posts/users are being ranked&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/lemon?rev=1209829291&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-05-03T15:41:31+00:00</dc:date>
        <title>rfc:lemon</title>
        <link>http://wiki.php.net/rfc/lemon?rev=1209829291&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1206409338&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 4:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Date:** 2008-03-25&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Date:** 2008-03-25&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Author:** Etienne Kneuss&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Author:** Etienne Kneuss&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * **Status:** &lt;strong&gt;Open&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * **Status:** &lt;strong&gt;In the works&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Abstract ===&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Abstract ===&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/lsb_parentself_forwarding?rev=1227951757&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-11-29T09:42:37+00:00</dc:date>
        <title>rfc:lsb_parentself_forwarding</title>
        <link>http://wiki.php.net/rfc/lsb_parentself_forwarding?rev=1227951757&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1216821608&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 7:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;This RFC covers the change that occured to Late Static Bindings (LSB) prior to &lt;strong&gt;it's &lt;/strong&gt;first alpha release.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This RFC covers the change that occured to Late Static Bindings (LSB) prior to &lt;strong&gt;its &lt;/strong&gt;first alpha release.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Terms and concepts ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Terms and concepts ====&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/magicquotes?rev=1208394091&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-17T01:01:31+00:00</dc:date>
        <title>rfc:magicquotes</title>
        <link>http://wiki.php.net/rfc/magicquotes?rev=1208394091&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1208394032&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Version: 1.0&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Version: 1.0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: April 15, 2008&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: April 15, 2008&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Last updated: April 16, 2008&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Philip Olson &amp;lt;philip@roshambo.org&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Philip Olson &amp;lt;philip@roshambo.org&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Status: Under Discussion&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Status: Under Discussion&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/managinglisttraffic?rev=1225741049&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-11-03T19:37:29+00:00</dc:date>
        <title>rfc:managinglisttraffic</title>
        <link>http://wiki.php.net/rfc/managinglisttraffic?rev=1225741049&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1225478278&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 8:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;This RFC proposes a way to reduce mailinglist traffic on the internals list without making it impossible for the community to raise their concerns on this vital piece of infrastructure on PHP.net decision making.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;This RFC proposes a way to reduce mailinglist traffic on the internals list without making it impossible for the community to raise their concerns on this vital piece of infrastructure on PHP.net decision making.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;So some core developers as well as lurking end users have noted that the traffic on this list prevents them from being able to follow this list. This is obviously a huge problem since this mailinglist is supposed to be our primary discussion and decision making tool.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;So some core developers as well as lurking end users have noted that the traffic on this list prevents them from being able to follow this list. This is obviously a huge problem since this mailinglist is supposed to be our primary discussion and decision making tool.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;I had a chat about this with Zoe, &lt;strong&gt;Stephan &lt;/strong&gt;(of symfony fame) and Pierre at IPC. In this discussion I got the following idea (note that I am listing the names here in order to credit them in this idea, not because they necessarily endorse it):&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;I had a chat about this with Zoe, &lt;strong&gt;Stefan &lt;/strong&gt;(of symfony fame) and Pierre at IPC. In this discussion I got the following idea (note that I am listing the names here in order to credit them in this idea, not because they necessarily endorse it):&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Proposal =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Proposal =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 24:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 23:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/mixin?rev=1221129050&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-09-11T10:30:50+00:00</dc:date>
        <title>rfc:mixin</title>
        <link>http://wiki.php.net/rfc/mixin?rev=1221129050&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1221129050&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 169:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 169:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;code php&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;code php&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;class_mixin('PHPUnit_Framework_Assert', 'MY_Assert_Methods'); // throws an &lt;strong&gt;E_FATAL Error&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;class_mixin('PHPUnit_Framework_Assert', 'MY_Assert_Methods'); // throws an &lt;strong&gt;E_ERROR&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/namespacecurlies?rev=1220189878&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-08-31T13:37:58+00:00</dc:date>
        <title>rfc:namespacecurlies</title>
        <link>http://wiki.php.net/rfc/namespacecurlies?rev=1220189878&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1220189878&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 44:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 44:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp;  - With the new implementation and no blocks, many people expected one namespace per file.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp;  - With the new implementation and no blocks, many people expected one namespace per file.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp;  - Since fewer files means faster execution, many people simply concatenate PHP scripts. Their expectation is to be able to do this for code that uses namespaces as well.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp;  - Since fewer files means faster execution, many people simply concatenate PHP scripts. Their expectation is to be able to do this for code that uses namespaces as well.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; &amp;nbsp;  - PHP will add [[php.net/phar|Phar archive]] support and thus does not really require source concatenation any longer.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  - PHP will add [[&lt;strong&gt;http://&lt;/strong&gt;php.net/phar|Phar archive]] support and thus does not really require source concatenation any longer.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp;  * Consistency:&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp;  * Consistency:&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/namespaceissues?rev=1224164718&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-10-16T13:45:18+00:00</dc:date>
        <title>rfc:namespaceissues</title>
        <link>http://wiki.php.net/rfc/namespaceissues?rev=1224164718&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1224164718&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 189:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 189:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;This will be better for 99% of scripts, as evidenced by the ratio of internal vs. userspace classes (see http://marc.info/?l=php-internals&amp;amp;m=122127176407546&amp;amp;w=2 for detail)&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;This will be better for 99% of scripts, as evidenced by the ratio of internal vs. userspace classes (see http://marc.info/?l=php-internals&amp;amp;m=122127176407546&amp;amp;w=2 for detail)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;==== Why Stas's proposed solution doesn't work ====&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;=&lt;/strong&gt;==== Why Stas's proposed solution doesn't work &lt;strong&gt;=&lt;/strong&gt;====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;[[rfc:namespaceref#namespaces_with_functionsconstants|Stas's proposed solution]] suggests:&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;[[rfc:namespaceref#namespaces_with_functionsconstants|Stas's proposed solution]] suggests:&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/namespaceref?rev=1224024235&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-10-14T22:43:55+00:00</dc:date>
        <title>rfc:namespaceref</title>
        <link>http://wiki.php.net/rfc/namespaceref?rev=1224024235&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1224019280&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 64:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 64:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * The model is more complex and may be confusing for the new users.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * The model is more complex and may be confusing for the new users.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Unqualified name resolutions for classes and functions/constants are slightly different due to the different usage patterns.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Unqualified name resolutions for classes and functions/constants are slightly different due to the different usage patterns.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * New syntax for static access&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== See also =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== See also =====&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/namespaceresolution?rev=1225812470&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-11-04T15:27:50+00:00</dc:date>
        <title>rfc:namespaceresolution</title>
        <link>http://wiki.php.net/rfc/namespaceresolution?rev=1225812470&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1225826415&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-10-30&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-10-30&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Lukas Smith &amp;lt;smith@pooteeweet.org&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Lukas Smith &amp;lt;smith@pooteeweet.org&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Under Discussion&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Accepted&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/namespaceresolution&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/namespaceresolution&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;This RFC discusses the way identifiers inside a namespace are to be resolved that are not fully qualified.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;This RFC discusses the way identifiers inside a namespace are to be resolved that are not fully qualified.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/namespaces-for-internal-classes?rev=1213730733&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-06-17T19:25:33+00:00</dc:date>
        <title>rfc:namespaces-for-internal-classes</title>
        <link>http://wiki.php.net/rfc/namespaces-for-internal-classes?rev=1213730733&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1213730688&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 54:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 54:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;| FilesystemIterator&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Spl::Iterator::Filesystem |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;| FilesystemIterator&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Spl::Iterator::Filesystem |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;| FilterIterator&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Spl::Iterator::Filter |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;| FilterIterator&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Spl::Iterator::Filter |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;| GlobIterator&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Spl::Iterator::&lt;strong&gt;Filter &lt;/strong&gt;|&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;| GlobIterator&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Spl::Iterator::&lt;strong&gt;Glob &lt;/strong&gt;|&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;| InfiniteIterator&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Spl::Iterator::Infinite |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;| InfiniteIterator&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Spl::Iterator::Infinite |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;| IteratorIterator&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Spl::Iterator::Iterator |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;| IteratorIterator&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Spl::Iterator::Iterator |&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/namespaces?rev=1221529654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-09-16T01:47:34+00:00</dc:date>
        <title>rfc:namespaces</title>
        <link>http://wiki.php.net/rfc/namespaces?rev=1221529654&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1221524689&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 108:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 108:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;code&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;defined('DEBUG'): YES (expect YES)&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;defined('DEBUG'): YES (expect YES)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;defined('&lt;strong&gt;my&lt;/strong&gt;::&lt;strong&gt;test&lt;/strong&gt;::&lt;strong&gt;ns&lt;/strong&gt;::DEBUG_2'): NO (expect YES)&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;defined('&lt;strong&gt;MY&lt;/strong&gt;::&lt;strong&gt;TEST&lt;/strong&gt;::&lt;strong&gt;NS&lt;/strong&gt;::DEBUG_2'): NO (expect YES)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;defined('my::test::ns::DEBUG_2'): NO (expect NO)&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;defined('my::test::ns::DEBUG_2'): NO (expect NO)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;defined('my::test::ns::debug_2'): NO (expect NO)&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;defined('my::test::ns::debug_2'): NO (expect NO)&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/namespaceseparator?rev=1225178783&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-10-28T07:26:23+00:00</dc:date>
        <title>rfc:namespaceseparator</title>
        <link>http://wiki.php.net/rfc/namespaceseparator?rev=1225178783&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1225126057&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 34:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;| IDE compatibility&amp;nbsp; |&amp;nbsp; +1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; +1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; +1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; +1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; +1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;| IDE compatibility&amp;nbsp; |&amp;nbsp; +1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; +1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; +1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; +1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; +1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;| number of chars&amp;nbsp; &amp;nbsp; |&amp;nbsp; +1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;| number of chars&amp;nbsp; &amp;nbsp; |&amp;nbsp; +1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  |&amp;nbsp; -1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Please note that we did not weigh all criterions evenly. Also we only included choices that we still felt relevant. For example as you can see in the IRC logs at the bottom we had already ruled out &amp;quot;::&amp;quot;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;As such we have decided to go with &amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt; as the new namespace separator instead of the current &amp;lt;code&amp;gt;::&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;As such we have decided to go with &amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt; as the new namespace separator instead of the current &amp;lt;code&amp;gt;::&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/newinis?rev=1234854302&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-02-17T07:05:02+00:00</dc:date>
        <title>rfc:newinis</title>
        <link>http://wiki.php.net/rfc/newinis?rev=1234854302&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1235651315&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1768:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1768:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Development INI =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Development INI =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 2342:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 2341:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;; Development Value: On&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;; Development Value: On&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;; Production Value: Off&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;; Production Value: Off&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;http://www.php.net/manual/en/errorfunc.configuration.php#ini.track-errors&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;; &lt;/strong&gt;http://www.php.net/manual/en/errorfunc.configuration.php#ini.track-errors&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;track_errors = On&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;track_errors = On&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3522:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3521:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/nonbreakabletraits?rev=1205446171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-03-13T22:09:31+00:00</dc:date>
        <title>rfc:nonbreakabletraits</title>
        <link>http://wiki.php.net/rfc/nonbreakabletraits?rev=1205446171&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1205446171&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 21:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; - Making an //alias// of the property or method and use either scope.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; - Making an //alias// of the property or method and use either scope.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; - //Merging// multiple properties or methods in the class scope.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; - //Merging// multiple properties or methods in the class scope.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Keywords Used In Sample Code =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Keywords Used In Sample Code =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 26:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;For all of the code examples, the following keywords were used:&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;For all of the code examples, the following keywords were used:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;''trait''&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;''trait''&lt;strong&gt;: &lt;/strong&gt;This keyword is used to mark a trait definition exactly as the ''class'' keyword works for classes.&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;This keyword is used to mark a trait definition exactly as the ''class''&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;keyword works for classes. &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;''class''&lt;strong&gt;: &lt;/strong&gt;Same as current PHP keyword.&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;''class''&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;Same as current PHP keyword. &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;''include''&lt;strong&gt;: &lt;/strong&gt;Used to include a trait into a class definition&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;''include''&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;Used to include a trait into a class definition &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;''private''&lt;strong&gt;: &lt;/strong&gt;This keyword is used in its current PHP sense as well as to mean that a property or method is to retain its //local// trait scope.&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;''private''&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;This keyword is used in its current PHP sense as well as to mean that&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;''public''&lt;strong&gt;: &lt;/strong&gt;This keyword is used in its current PHP sense as well as to mean that a property or method is to be used within the scope of the including class.&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;a property or method is to retain its //local// trait scope. &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;''public''&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;''as''&lt;strong&gt;: &lt;/strong&gt;Used to //alias// or //merge// a trait into a class.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;This keyword is used in its current PHP sense as well as to mean that&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;a property or method is to be used within the scope of the including&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;class. &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;''as''&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;Used to //alias// or //merge// a trait into a class.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/pdonotices?rev=1255424943&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-10-13T09:09:03+00:00</dc:date>
        <title>rfc:pdonotices</title>
        <link>http://wiki.php.net/rfc/pdonotices?rev=1255424943&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1255423307&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 8:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Databases notices =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Databases notices =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;The most important Databases have a functionality which&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;The most important Databases have a functionality which returns some notices about the current query. These notices can be raised by the Database engine within a ''CREATE TABLE'', ''UPDATE'' or ''DELETE'' query for instance or by a user function. &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;returns some notices about the current query. These&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;notices can be raised by the Database engine within a&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;''CREATE TABLE'', ''UPDATE'' or ''DELETE'' query for instance or by&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;a user function. &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Generally, notices contain information about the&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Generally, notices contain information about the parallel executions, about the number of fetched rows or about the performances of the query.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;parallel executions, about the number of fetched rows or&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;about the performances of the query.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Get notices in PDO =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Get notices in PDO =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;In PDO, notices are stored into a &amp;quot;''notices''&amp;quot; HashTable in&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;In PDO, notices are stored into a &amp;quot;''notices''&amp;quot; HashTable in the &amp;quot;''_pdo_dbh_t''&amp;quot; structure. Notices are inserted into it by each Database's PDO's driver using:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;the &amp;quot;''_pdo_dbh_t''&amp;quot; structure. Notices are inserted into it&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;by each Database's PDO's driver using:&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;gt; &lt;strong&gt;''&lt;/strong&gt;zend_hash_next_index_insert(dbh-&amp;gt;notices, &amp;amp;val, sizeof(zval *), NULL);&lt;strong&gt;''&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;lt;code c&lt;/strong&gt;&amp;gt;zend_hash_next_index_insert(dbh-&amp;gt;notices, &amp;amp;val, sizeof(zval *), NULL);&lt;strong&gt;&amp;lt;/code&amp;gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Where zval is the zval message string and val the&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Where zval is the zval message string and val the allocated message string.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;allocated message string.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;This is done if user have specified that he want to&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This is done if user have specified that he want to fetch notices using the setAttribute or the $option parameter on the PDO constructor.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;fetch notices using the setAttribute or the $option&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;parameter on the PDO constructor&lt;strong&gt;. &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;* The name of the attribute is: ''PDO::ATTR_LOG_NOTICES'' &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;* The possible values are: &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;- PDO::NOTICES_NONE -- no fetching &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;- PDO::NOTICES_ARRAY -- fetching &amp;amp; noticeInfo returning &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;value is an array&lt;/strong&gt;.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;The name of the &lt;strong&gt;function that users have use to get &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;nbsp; * &lt;/strong&gt;The name of the &lt;strong&gt;attribute &lt;/strong&gt;is&lt;strong&gt;: &lt;/strong&gt;''&lt;strong&gt;PDO::ATTR_LOG_NOTICES&lt;/strong&gt;'' &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;notices &lt;/strong&gt;is &lt;strong&gt;&amp;quot;&lt;/strong&gt;''&lt;strong&gt;noticeInfo&lt;/strong&gt;''&lt;strong&gt;&amp;quot; which returns an ''array'' (when&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;strong&gt; * The possible values are: &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;''&lt;/strong&gt;PDO::&lt;strong&gt;NOTICES_ARRAY'' is the value of&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &amp;nbsp; * &lt;/strong&gt;PDO::&lt;strong&gt;NOTICES_NONE -- no fetching&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;''&lt;/strong&gt;PDO::&lt;strong&gt;ATTR_LOG_NOTICES''). The name is based on the &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;strong&gt;&amp;nbsp;  * &lt;/strong&gt;PDO::&lt;strong&gt;NOTICES_ARRAY -- fetching &lt;/strong&gt;&amp;&lt;strong&gt;amp&lt;/strong&gt;; &lt;strong&gt;noticeInfo returning value as an array&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;&lt;strong&gt;quot&lt;/strong&gt;;&lt;strong&gt;errorInfo&amp;quot; function to be more user-friendly.&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;**Note:** ''noticeInfo'' is a ''PDO'' function, not a ''PDOStatement''&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;The name of the function that users have use to get notices is &amp;quot;''noticeInfo''&amp;quot; which returns an ''array'' (when ''PDO::NOTICES_ARRAY'' is the value of ''PDO::ATTR_LOG_NOTICES''). The name is based on the &amp;quot;errorInfo&amp;quot; function to be more user-friendly. &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;function.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;**Note:** ''noticeInfo'' is a ''PDO'' function, not a ''PDOStatement'' function.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Get notices with PostgreSQL ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Get notices with PostgreSQL ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Notices in PostgreSQL are raised in Pl/PgSQL with the&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Notices in PostgreSQL are raised in Pl/PgSQL with the &amp;quot;''RAISE NOTICE''&amp;quot; command. They can be fetched using a notice processor defined by the &amp;quot;''PQsetNoticeProcessor''&amp;quot; pointing on a &amp;quot;''_pdo_pgsql_notice''&amp;quot; function which insert the message into ''dbh-&amp;gt;notices'' like the principle described into the [[#get notices with postgresql|Get notices in PDO]] part.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;quot;''RAISE NOTICE''&amp;quot; command. They can be fetched using a&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;notice processor defined by the &amp;quot;''PQsetNoticeProcessor''&amp;quot;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;pointing on a &amp;quot;''_pdo_pgsql_notice''&amp;quot; function which insert&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;the message into ''dbh-&amp;gt;notices'' like the principle&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;described into the [[#get notices with postgresql|Get notices in PDO]] part.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Get notices in MySQL ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Get notices in MySQL ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;In MySQL, the working of notices is NOT like PostgreSQL.&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;In MySQL, the working of notices is NOT like PostgreSQL. MySQL raise notices within simple queries like ''UPDATE'' or ''DELETE''. These notices cannot be raised by a user function.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;MySQL raise notices within simple queries like ''UPDATE'' or&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;''DELETE''. These notices cannot be raised by a user&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;function.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;In the MySQL C API, there's a function whose purpose is&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;In the MySQL C API, there's a function whose purpose is to get the number of warnings (and notices) for the last &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;to get the number of warnings (and notices) for the last &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;query. This function is ''mysql_warning_count()''\\ [http://dev.mysql.com/doc/refman/5.1/en/mysql-warning-count.html]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;query. This function is ''mysql_warning_count()''\\&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;[http://dev.mysql.com/doc/refman/5.1/en/mysql-warning-count.html]&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;If ''mysql_warning_count'' result is greater than or equal&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;If ''mysql_warning_count'' result is greater than or equal to 1, there are warnings and we will get them. To get &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;to 1, there are warnings and we will get them. To get &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;these warning, we have to fetch results of the &amp;quot;SHOW WARNINGS&amp;quot; query.\\ [http://dev.mysql.com/doc/refman/5.1/en/show-warnings.html]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;these warning, we have to fetch results of the &amp;quot;SHOW&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;WARNINGS&amp;quot; query.\\&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;[http://dev.mysql.com/doc/refman/5.1/en/show-warnings.html]&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;If ''mysql_warning_count() = 0'', we can get the result of&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;If ''mysql_warning_count() = 0'', we can get the result of mysql_info which returns informations about the last &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;mysql_info which returns informations about the last &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;query. If the result of it is different to NULL, put the results into ''dbh-&amp;gt;notices''.\\ [http://dev.mysql.com/doc/refman/5.1/en/mysql-info.html]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;query. If the result of it is different to NULL, put the&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;results into ''dbh-&amp;gt;notices''.\\&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;[http://dev.mysql.com/doc/refman/5.1/en/mysql-info.html]&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Get notices in Oracle ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Get notices in Oracle ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;In Oracle, notices can be raised by ''DBMS_OUTPUT'' within a&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;In Oracle, notices can be raised by ''DBMS_OUTPUT'' within a Pl/SQL function and some notifications are created by the Oracle Server.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Pl/SQL function and some notifications are created by&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;the Oracle Server.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;quot;Call ''OCIInitialize()'' with ''OCI_EVENTS'' mode to specify&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;quot;Call ''OCIInitialize()'' with ''OCI_EVENTS'' mode to specify that the application is interested in registering for and receiving notifications. This starts a dedicated listening thread for notifications on the client.&amp;quot;\\ [http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28395/oci09adv.htm#sthref1428]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;that the application is interested in registering for&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;and receiving notifications. This starts a dedicated&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;listening thread for notifications on the client.&amp;quot;\\ &lt;strong&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;  &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28395/oci09adv.htm#sthref1428]&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Informations about notification callback which I didn't&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Informations about notification callback which I didn't understand very much: http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28395/oci09adv.htm#sthref1446&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;understand very much: http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28395/oci09adv.htm#sthref1446&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;This is about getting notifications from Oracle: http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28395/oci10new.htm#sthref1457&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;This is about getting notifications from Oracle: http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28395/oci10new.htm#sthref1457&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Global method for Oracle, in addition of these previous&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Global method for Oracle, in addition of these previous methods, to get **DMBS_OUTPUT**:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;methods, to get **DMBS_OUTPUT**:&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;- &lt;/strong&gt;Execute &amp;&lt;strong&gt;quot&lt;/strong&gt;;&lt;strong&gt;''&lt;/strong&gt;BEGIN DBMS_OUTPUT.ENABLE(NULL); END;&lt;strong&gt;''&lt;/strong&gt;&amp;&lt;strong&gt;quot&lt;/strong&gt;; when ''PDO::ATTR_LOG_NOTICES'' is turned a value different to ''PDO::NOTICES_NONE''.\\ &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;nbsp; * &lt;/strong&gt;Execute &amp;&lt;strong&gt;lt;code plsql&amp;gt&lt;/strong&gt;;BEGIN DBMS_OUTPUT.ENABLE(NULL); END;&amp;&lt;strong&gt;lt;/code&amp;gt&lt;/strong&gt;; when ''PDO::ATTR_LOG_NOTICES'' is turned a value different to ''PDO::NOTICES_NONE''.\\ &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;- &lt;/strong&gt;After each successful queries, fetch: &amp;&lt;strong&gt;quot&lt;/strong&gt;;&lt;strong&gt;''&lt;/strong&gt;BEGIN DBMS_OUTPUT.GET_LINE(:LN, :ST); END;&lt;strong&gt;''&lt;/strong&gt;&amp;&lt;strong&gt;quot&lt;/strong&gt;; with '':LN'' and '':ST'' two OUT parameters which define the informations and the number of them. \\ &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;strong&gt; * &lt;/strong&gt;After each successful queries, fetch: &amp;&lt;strong&gt;lt;code plsql&amp;gt&lt;/strong&gt;;BEGIN DBMS_OUTPUT.GET_LINE(:LN, :ST); END;&amp;&lt;strong&gt;lt;/code&amp;gt&lt;/strong&gt;; with '':LN'' and '':ST'' two OUT parameters which define the informations and the number of them. \\ &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;- &lt;/strong&gt;Execute &amp;&lt;strong&gt;quot&lt;/strong&gt;;&lt;strong&gt;''&lt;/strong&gt;BEGIN DBMS_OUTPUT.DISABLE(); END;&lt;strong&gt;''&lt;/strong&gt;&amp;&lt;strong&gt;quot&lt;/strong&gt;; when ''PDO::ATTR_LOG_NOTICES'' is turned a value equal to ''PDO::NOTICES_NONE''.\\&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;strong&gt; * &lt;/strong&gt;Execute &amp;&lt;strong&gt;lt;code plsql&amp;gt&lt;/strong&gt;;BEGIN DBMS_OUTPUT.DISABLE(); END;&amp;&lt;strong&gt;lt;/code&amp;gt&lt;/strong&gt;; when ''PDO::ATTR_LOG_NOTICES'' is turned a value equal to ''PDO::NOTICES_NONE''.\\&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== For others Databases ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== For others Databases ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;For others Databases who have a notice functionality, we&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;For others Databases who have a notice functionality, we have to&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;have to&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;reflect. Personally, i do not know which Databases...&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;reflect. Personally, i do not know which Databases...&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/pdov1?rev=1239386066&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-10T17:54:26+00:00</dc:date>
        <title>rfc:pdov1</title>
        <link>http://wiki.php.net/rfc/pdov1?rev=1239386066&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1219185365&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 63:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 63:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== More about PDO ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== More about PDO ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * http://php.net/pdo&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * http://php.net/pdo &lt;strong&gt;(userland manual) &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;nbsp; * http://php.net/internals2.pdo (internals manual)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== References ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== References ====&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/peclversioning?rev=1219063791&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-08-18T12:49:51+00:00</dc:date>
        <title>rfc:peclversioning</title>
        <link>http://wiki.php.net/rfc/peclversioning?rev=1219063791&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1216213241&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Request for Comments: PECL Versioning =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Request for Comments: PECL Versioning =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;=== &lt;strong&gt;The Problem &lt;/strong&gt;=== &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;=== &lt;strong&gt;History &lt;/strong&gt;=== &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;Currently, &lt;/strong&gt;PECL versioning &lt;strong&gt;is &lt;/strong&gt;fairly anarchic. &lt;strong&gt;It is &lt;/strong&gt;impossible to determine the status of an extension, or whether an update &lt;strong&gt;will &lt;/strong&gt;break binary compatibility with previous versions (or work with a given PHP release) without a long try-&amp;amp;-fail process&lt;strong&gt;. Windows PECL binaries should have reliable version information in the DLL resources (physically visible in the file properties) as well as at runtime (through phpinfo(), phpversion('extname') etc.)&lt;/strong&gt;. Some of the processes in php.net that currently use hard-coded lists could also benefit from a standardized versioning process. &lt;strong&gt;This problem has to be fixed to bring &lt;/strong&gt;PECL to &lt;strong&gt;a higher quality &lt;/strong&gt;and &lt;strong&gt;reliability level&lt;/strong&gt;.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;PECL versioning &lt;strong&gt;has historically been &lt;/strong&gt;fairly anarchic. &lt;strong&gt;This made it &lt;/strong&gt;impossible to determine the status of an extension, or whether an update &lt;strong&gt;would &lt;/strong&gt;break binary compatibility with previous versions (or work with a given PHP release) without a long try-&amp;amp;-fail process. Some of the processes in php.net that currently use hard-coded lists could also benefit from a standardized versioning process.&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;The base proposal was implemented across &lt;/strong&gt;PECL &lt;strong&gt;by April 2008. Only the question of what &lt;/strong&gt;to &lt;strong&gt;do about PHP extensions that are both in PECL &lt;/strong&gt;and &lt;strong&gt;in the PHP core - and usually symlinked - remains open&lt;/strong&gt;. &lt;strong&gt;//It would be nice to resolve this before the PHP 5.3.0 release!//&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;There are actually two RFCs (proposals) to deal with version numbering in PECL and for core PHP extensions in general.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;There are actually two RFCs (proposals) to deal with version numbering in PECL and for core PHP extensions in general.&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/php_native_interface?rev=1241260152&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-05-02T10:29:12+00:00</dc:date>
        <title>rfc:php_native_interface</title>
        <link>http://wiki.php.net/rfc/php_native_interface?rev=1241260152&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1243365295&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 92:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 92:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Project Zero&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Project Zero&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Supportive&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Supportive &lt;strong&gt;(see [[http://wiki.php.net/rfc/remove_zend_api/scratchpad|remove_zend_api/scratchpad]] for their discussion.&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * phc&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * phc&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; * Involved&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; * Involved&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/phpvcs?rev=1242567165&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-05-17T13:32:45+00:00</dc:date>
        <title>rfc:phpvcs</title>
        <link>http://wiki.php.net/rfc/phpvcs?rev=1242567165&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1226582820&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 4:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Date:** 2008-03-29&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Date:** 2008-03-29&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Author:** Gwynne Raskind&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Author:** Gwynne Raskind&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * **Status:** &lt;strong&gt;In the works&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * **Status:** &lt;strong&gt;Accepted&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * **&lt;strong&gt;Votes&lt;/strong&gt;:** &lt;strong&gt;(+0&lt;/strong&gt;/&lt;strong&gt;-0)&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * **&lt;strong&gt;Progress&lt;/strong&gt;:** &lt;strong&gt;Roughly 90% implemented, see [[http:&lt;/strong&gt;/&lt;strong&gt;/svn.php.net/]]&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt; &lt;strong&gt;&amp;nbsp;  &lt;/strong&gt;* **&lt;strong&gt;Pro&lt;/strong&gt;:**  &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;strong&gt; &lt;/strong&gt;* **&lt;strong&gt;Votes&lt;/strong&gt;:** &lt;strong&gt;While most people prefer a move to Git/Github, a more unanimous desire is required before such a large shift. We're sticking with the status quo and moving to SVN. A git bridge will exist.&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt; &lt;strong&gt;&amp;nbsp;  * **Contra:**&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Purpose ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Purpose ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 92:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 92:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Further Discussion And Reading ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Further Discussion And Reading ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;[[http://news.php.net/svn.migration]]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;[[http://doc.php.net/php/rfc/rfc-proposal-show.php?id=8]]&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;[[http://doc.php.net/php/rfc/rfc-proposal-show.php?id=8]]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/propertygetsetsyntax?rev=1253142104&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-09-16T23:01:44+00:00</dc:date>
        <title>rfc:propertygetsetsyntax</title>
        <link>http://wiki.php.net/rfc/propertygetsetsyntax?rev=1253142104&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1253142303&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 133:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 133:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get { return seconds / 3600; }&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get { return seconds / 3600; }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set { seconds = value * 3600; }&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set { seconds = value * 3600; }&lt;strong&gt;// The variable &amp;quot;value&amp;quot; holds the incoming value to be &amp;quot;set&amp;quot;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;}&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 162:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 162:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get { return $this-&amp;gt;seconds / 3600; }&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get { return $this-&amp;gt;seconds / 3600; }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set { $this-&amp;gt;seconds = $value * 3600; }&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set { $this-&amp;gt;seconds = $value * 3600; }&lt;strong&gt;// The variable $value holds the incoming value to be &amp;quot;set&amp;quot;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;};&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;};&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/protectedlookup?rev=1212509361&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-06-03T16:09:21+00:00</dc:date>
        <title>rfc:protectedlookup</title>
        <link>http://wiki.php.net/rfc/protectedlookup?rev=1212509361&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1212509361&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 177:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 177:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Remove new rule: remove calls to zend_get_function_root_class().&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Remove new rule: remove calls to zend_get_function_root_class().&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Patch ===&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Patch ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;* [[http://thread.gmane.org/gmane.comp.php.devel/48176/focus=48179|Patch from Felipe Pena]] &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;* [[http://thread.gmane.org/gmane.comp.php.devel/48176/focus=48179|Patch from Felipe Pena]] &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;* [[http://www.soal.org/php/protectedrfc/protected_opt1_tests.zip|Tests]]&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;strong&gt; &lt;/strong&gt;* [[http://www.soal.org/php/protectedrfc/protected_opt1_tests.zip|Tests]]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Pros ===&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Pros ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Simple code change&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Simple code change&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 212:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 212:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;If option 1 is dismissed due to the violation of LSP, it follows that the current rules for property access, callbacks, ''clone()'' and ''destruct()'' are also violations of LSP and should be fixed. This option ensures that ''zend_get_function_root_class()'' is used consistently for all protected method checks, and implements equivalent functionality for protected property checks.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;If option 1 is dismissed due to the violation of LSP, it follows that the current rules for property access, callbacks, ''clone()'' and ''destruct()'' are also violations of LSP and should be fixed. This option ensures that ''zend_get_function_root_class()'' is used consistently for all protected method checks, and implements equivalent functionality for protected property checks.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Patch ===&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Patch ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;* [[http://www.soal.org/php/protectedrfc/protected_opt2.&lt;strong&gt;diff&lt;/strong&gt;|Patch]] &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;* [[http://www.soal.org/php/protectedrfc/protected_opt2.&lt;strong&gt;txt&lt;/strong&gt;|Patch]] &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;* [[http://www.soal.org/php/protectedrfc/protected_opt2_tests.zip|Tests]]&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;strong&gt; &lt;/strong&gt;* [[http://www.soal.org/php/protectedrfc/protected_opt2_tests.zip|Tests]]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Pros ===&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Pros ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Respects the Liskov Substitution Principle.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Respects the Liskov Substitution Principle.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 246:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 246:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Patch ===&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Patch ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;* Patch to do. &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;* Patch to do. &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;* [[http://www.soal.org/php/protectedrfc/protected_opt3_tests.zip|Tests]]&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;strong&gt; &lt;/strong&gt;* [[http://www.soal.org/php/protectedrfc/protected_opt3_tests.zip|Tests]]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Pros ===&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Pros ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Respects the Liskov Substitution Principle.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Respects the Liskov Substitution Principle.&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/releaseprocess?rev=1237973243&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-03-25T09:27:23+00:00</dc:date>
        <title>rfc:releaseprocess</title>
        <link>http://wiki.php.net/rfc/releaseprocess?rev=1237973243&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1237900987&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;====== Request for Comments: &lt;strong&gt;How to write RFCs &lt;/strong&gt;======&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;====== Request for Comments: &lt;strong&gt;Releases management and process &lt;/strong&gt;======&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Version: 0.1&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Version: 0.1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-03-06&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-03-06&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/remove_zend_api?rev=1242129793&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-05-12T12:03:13+00:00</dc:date>
        <title>rfc:remove_zend_api</title>
        <link>http://wiki.php.net/rfc/remove_zend_api?rev=1242129793&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1242129752&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2009-03-27&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2009-03-27&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Paul Biggar &amp;lt;paul.biggar@gmail.com&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Paul Biggar &amp;lt;paul.biggar@gmail.com&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * &lt;strong&gt;Status: Soliciting comments for 1.1 &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * **&lt;strong&gt;Status: Brainstorming&lt;/strong&gt;: [[http://wiki.php.net/rfc/remove_zend_api/scratchpad]]**&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;** &lt;strong&gt;Currently brainstorming about extensions which are tightly integrated with PHP&lt;/strong&gt;: [[http://wiki.php.net/rfc/remove_zend_api/scratchpad]]**&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/rounding?rev=1228236320&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-12-02T16:45:20+00:00</dc:date>
        <title>rfc:rounding</title>
        <link>http://wiki.php.net/rfc/rounding?rev=1228236320&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1219593036&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-08-23&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-08-23&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Christian Seiler &amp;lt;chris_se@gmx.net&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Christian Seiler &amp;lt;chris_se@gmx.net&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Under Discussion&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Implemented&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/rounding&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/rounding&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 274:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 274:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;in a platform-independent way. The GNU C library offers the _FPU_SETCW and&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;in a platform-independent way. The GNU C library offers the _FPU_SETCW and&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;_FPU_GETCW macros in fpu_control.h while on Windows Systems a function named&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;_FPU_GETCW macros in fpu_control.h while on Windows Systems a function named&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;_controlfp is available for this job.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;_controlfp is available for this job&lt;strong&gt;. FreeBSD provides fpsetprec() and other &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;Operating Systems that run on x86 require inline assembly&lt;/strong&gt;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Please note that zend_strtod() is also affected by this problem: On systems&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Please note that zend_strtod() is also affected by this problem: On systems&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 394:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 395:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Building an abstraction layer for FP control register manipulation ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Building an abstraction layer for FP control register manipulation ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;In a first step, my patch introduces 3 macros&lt;/strong&gt;:&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;See http&lt;/strong&gt;:&lt;strong&gt;//www.christian-seiler.de/projekte/fpmath/ for further information &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;on how to ensure double precision on different architectures, operating &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;systems and with different compilers.&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;nbsp;  * _ZEND_FPU_CW_DECLARE&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;This proposal proposes to wrap the above abstraction into the following&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt; &lt;strong&gt;&amp;nbsp; * _ZEND_FPU_CW_SET &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;macros:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;nbsp;  * _ZEND_FPU_CW_RESTORE&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;The DECLARE macro declares certain necessary variables, the SET macro modifies&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;nbsp; * ZEND_FLOAT_DECLARE&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;the FPU control word so that double precision is used for calculation and&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;strong&gt; * ZEND_FLOAT_ENSURE()&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;RESTORE restores the previous state of the control word. The following example&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;strong&gt; * ZEND_FLOAT_RESTORE()&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;illustrates how these macros are to be used:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt; &lt;strong&gt; * ZEND_FLOAT_RETURN(val)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;lt;code c&amp;gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;These will be defined in Zend&lt;/strong&gt;/&lt;strong&gt;zend_float&lt;/strong&gt;.&lt;strong&gt;h&lt;/strong&gt;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;double somefunction (double val) &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;{ &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;	_ZEND_FPU_CW_DECLARE; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;	double foo; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;	_ZEND_FPU_CW_SET; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;	&lt;/strong&gt;/&lt;strong&gt;* some calculations&lt;/strong&gt;.&lt;strong&gt;.. */ &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;	foo = val / 100.0; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;	/* ... */ &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;	_ZEND_FPU_CW_RESTORE; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;	return foo; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;} &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;&amp;lt;/code&amp;gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;These macros expand to the correct versions for each platform or to NOPs if &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;the method for the corresponding platform could not be determined&lt;/strong&gt;.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Fix of zend_strtod ====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Fix of zend_strtod ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 440:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 423:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;different results.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;different results.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;For this reason, my patch also fixes zend_strtod() by adding the &lt;strong&gt;_ZEND_FPU_CW&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;For this reason, my patch also fixes zend_strtod() by adding the &lt;strong&gt;proposed&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;macros to the function. Then, C and PHP will yield the same results on all&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;macros to the function. Then, C and PHP will yield the same results on all&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;platforms (that support IEEE 754 arithmetics anyway).&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;platforms (that support IEEE 754 arithmetics anyway).&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 451:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 434:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Usage of FP control word manipulation ===&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Usage of FP control word manipulation ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;The round function uses the new &lt;strong&gt;_ZEND_FPU_CW &lt;/strong&gt;macros in order to ensure double&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;The round function uses the new &lt;strong&gt;ZEND_FLOAT &lt;/strong&gt;macros in order to ensure double&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;precision arithmetics within the function body. This will make sure the final&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;precision arithmetics within the function body. This will make sure the final&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;division works properly.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;division works properly.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 525:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 508:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Patch =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;==== Patch =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;The patch &lt;strong&gt;is available under &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;The patch &lt;strong&gt;was already applied &lt;/strong&gt;to &lt;strong&gt;PHP_5_3 and &lt;/strong&gt;HEAD.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;[[http://www.christian-seiler.de/temp/php/2008-08-23-rounding/rounding-5.3-1.patch]]. &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;It applies against the current CVS branch of 5.3, porting it &lt;/strong&gt;to HEAD &lt;strong&gt;should &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;be extremely trivial (since this only affects math-related stuff). &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;I tested the patch under Linux 32 bit x86, Linux 64 bit x86_64 and Windows &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;32 bit x86. Please note that MinGW does not define _controlfp_s but does &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;define _controlfp. Thus I added a conditional ifdef to use _controlfp instead &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;if _controlfp_s is not present. This is not relevant now but may be relevant &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;when CMake is used as build system for PHP and thus PHP starts to support &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;MinGW&lt;/strong&gt;.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;The _ZEND_FPU_CW macros are currently defined in zend_strtod.h&lt;/strong&gt;, &lt;strong&gt;but there may&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;I tested the patch under Linux 32 bit x86&lt;/strong&gt;, &lt;strong&gt;Linux 64 bit x86_64, Windows&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;be a better place for that&lt;/strong&gt;. &lt;strong&gt;Also&lt;/strong&gt;, the &lt;strong&gt;configure checks &lt;/strong&gt;for &lt;strong&gt;those makros are &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;32 bit x86 and FreeBSD 32 bit x86&lt;/strong&gt;. &lt;strong&gt;Additionally&lt;/strong&gt;, the &lt;strong&gt;macros themselves were &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;currently in ext/standard/config.{m4,w32} while they are probably better &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;tested on various platforms (see the above link &lt;/strong&gt;for &lt;strong&gt;details)&lt;/strong&gt;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt;located somewhere else&lt;/strong&gt;.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Comparison with the 2004 proposal =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Comparison with the 2004 proposal =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 599:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 571:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * 2008-12-02 Christian Seiler: Updated to current situation&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * 2008-08-23 Christian Seiler: Created RFC&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * 2008-08-23 Christian Seiler: Created RFC&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/session_upload_progress?rev=1222507757&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-09-27T09:29:17+00:00</dc:date>
        <title>rfc:session_upload_progress</title>
        <link>http://wiki.php.net/rfc/session_upload_progress?rev=1222507757&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1222506517&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 84:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 84:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;The current patch also allows to cancel an upload by setting the &amp;quot;cancel_upload&amp;quot; key to true in the progress data (e.g. $_SESSION[&amp;quot;upload_progress_123&amp;quot;][&amp;quot;cancel_upload&amp;quot;] = true;).&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;The current patch also allows to cancel an upload by setting the &amp;quot;cancel_upload&amp;quot; key to true in the progress data (e.g. $_SESSION[&amp;quot;upload_progress_123&amp;quot;][&amp;quot;cancel_upload&amp;quot;] = true;).&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Doing so will cancel the currently uploading file, bypass all remaining data (POST variables, uploads, etc)&lt;strong&gt;, and start &lt;/strong&gt;to &lt;strong&gt;execute the script&lt;/strong&gt;.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Doing so will cancel the currently uploading file, bypass all remaining data (POST variables, uploads, etc)&lt;strong&gt;. An upload canceled this way will have &amp;quot;error&amp;quot; set &lt;/strong&gt;to &lt;strong&gt;[[http://www.php.net/manual/en/features.file-upload.errors.php|UPLOAD_ERR_EXTENSION]]&lt;/strong&gt;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/shortags?rev=1239864297&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-16T06:44:57+00:00</dc:date>
        <title>rfc:shortags</title>
        <link>http://wiki.php.net/rfc/shortags?rev=1239864297&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1207256217&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-04-03&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-04-03&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Stas Malyshev &amp;lt;stas@php.net&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Stas Malyshev &amp;lt;stas@php.net&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Under Discussion &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Declined&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/shortsyntaxforarrays?rev=1212163944&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-05-30T16:12:24+00:00</dc:date>
        <title>rfc:shortsyntaxforarrays</title>
        <link>http://wiki.php.net/rfc/shortsyntaxforarrays?rev=1212163944&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1212163944&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 5:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Published at: 2008-01-10&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Published at: 2008-01-10&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Last update: 2008-30-05&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Last update: 2008-30-05&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Votes (+&lt;strong&gt;5&lt;/strong&gt;/-&lt;strong&gt;9&lt;/strong&gt;):  &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Votes (+&lt;strong&gt;8&lt;/strong&gt;/-&lt;strong&gt;16&lt;/strong&gt;):  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Pro: Andrei Zmievski, Andi Gutmans, Pierre Joye, Rasmus Lerdorf, Stanislav Malyshev &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Pro: Andrei Zmievski, Andi Gutmans, Pierre Joye, Rasmus Lerdorf, Stanislav Malyshev&lt;strong&gt;, Brian Moon, Kalle Sommer Nielsen, Edin Kadribasic&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Contra: Antony Dovgal, Derick Rethans, Jani Taskinen, Lokrain, Felipe Pena, Lukas Kahwe Smith, Marcus Boerger, David Soria Parra, Johannes Schlüter &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Contra: Antony Dovgal, Derick Rethans, Jani Taskinen, Lokrain, Felipe Pena, Lukas Kahwe Smith, Marcus Boerger, David Soria Parra, Johannes Schlüter&lt;strong&gt;, Maciek Sokolewicz, Philip Olson, Ilia Alshanetsky, Daniel Brown, Jochem Maas, Hannes Magnusson, David Coallier&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Userland Votes (+&lt;strong&gt;20&lt;/strong&gt;/-&lt;strong&gt;10&lt;/strong&gt;): &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Userland Votes (+&lt;strong&gt;17&lt;/strong&gt;/-&lt;strong&gt;3&lt;/strong&gt;): &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Pro: Sebastian Deutsch, Ryusuke Sekiyama, Stefan Marr, Alexey Zakhlestin&lt;strong&gt;, Brian Moon&lt;/strong&gt;, Carl P. Corliss, Darius Jahandarie, Giedrius D, Eric Coleman&lt;strong&gt;, Kalle Sommer Nielsen&lt;/strong&gt;, Max Antonov, Mike Ford, Larry Garfield, Sam Barrow, Taylor Luk, Hans Ahlin, Karoly Negyesi&lt;strong&gt;, Edin Kadribasic&lt;/strong&gt;, Guilherme Blanco, Jonathan-Bond Caron &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Pro: Sebastian Deutsch, Ryusuke Sekiyama, Stefan Marr, Alexey Zakhlestin, Carl P. Corliss, Darius Jahandarie, Giedrius D, Eric Coleman, Max Antonov, Mike Ford, Larry Garfield, Sam Barrow, Taylor Luk, Hans Ahlin, Karoly Negyesi, Guilherme Blanco, Jonathan-Bond Caron &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Contra: &lt;strong&gt;David Coallier, &lt;/strong&gt;Geoffrey Sneddon&lt;strong&gt;, Hannes Magnusson&lt;/strong&gt;, Tomi Kaistila, David Zühlke&lt;strong&gt;, Maciek Sokolewicz, Philip Olson, Ilia Alshanetsky, Daniel Brown, Jochem Maas&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Contra: Geoffrey Sneddon, Tomi Kaistila, David Zühlke&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Note: This list was created by guessing (cvs name vs. real name) who has commit rights - please correct mistakes**&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Note: This list was created by guessing (cvs name vs. real name) who has commit rights - please correct mistakes**&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/spl-namespace?rev=1216653483&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-07-21T15:18:03+00:00</dc:date>
        <title>rfc:spl-namespace</title>
        <link>http://wiki.php.net/rfc/spl-namespace?rev=1216653483&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1216716622&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Version: 1.0&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Version: 1.0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-07-19&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Date: 2008-07-19&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Author: Baptiste &lt;strong&gt;Autin &lt;/strong&gt;&amp;lt;fjas.at.free.fr&amp;gt; &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Author: Baptiste &amp;lt;fjas.at.free.fr&amp;gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Under Discussion&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: &lt;strong&gt;Abandonned&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/spl-namespace&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/spl-namespace&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Other formats ..&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Other formats ..&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/static-classes?rev=1210418721&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-05-10T11:25:21+00:00</dc:date>
        <title>rfc:static-classes</title>
        <link>http://wiki.php.net/rfc/static-classes?rev=1210418721&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1210418193&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 40:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;AbstractStaticClass2::staticMethod(); // Throws error, not allowed. Must be extended first&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;AbstractStaticClass2::staticMethod(); // Throws error, not allowed. Must be extended first&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 53:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 54:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * The current behaviour of abstract classes/non-static classes with static members **would not** change. This is important for backwards compatibility&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * The current behaviour of abstract classes/non-static classes with static members **would not** change. This is important for backwards compatibility&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * ''%%__setStatic()%%'' and ''%%__getStatic()%%'' **will** provide functionality similiar to ''%%__get()%%'' and ''%%__set()%%''&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * ''%%__setStatic()%%'' and ''%%__getStatic()%%'' **will** provide functionality similiar to ''%%__get()%%'' and ''%%__set()%%''&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * &lt;strong&gt;It &lt;/strong&gt;**&lt;strong&gt;will not&lt;/strong&gt;** be &lt;strong&gt;possible to create instances of static &lt;/strong&gt;classes&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * &lt;strong&gt;Static classes &lt;/strong&gt;**&lt;strong&gt;cannot&lt;/strong&gt;** be &lt;strong&gt;instantiated &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong&gt;&amp;nbsp; * Static &lt;/strong&gt;classes &lt;strong&gt;**can** implement interfaces containing only static methods&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Code =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Code =====&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/streamline-phar-api?rev=1206720156&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-03-28T16:02:36+00:00</dc:date>
        <title>rfc:streamline-phar-api</title>
        <link>http://wiki.php.net/rfc/streamline-phar-api?rev=1206720156&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1206718969&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 28:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Adding isWritable() method ===&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Adding isWritable() method ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;== Proposal ==&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;== Proposal ==&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Add an isWritable() method to determine whether an archive can be written or not. Not being able to write an archive either means it is disabled in the php.ini (see Phar::canWrite()) or that PHP can't write to the requested location of the phar archive.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Add an isWritable() method to determine whether an archive can be written or not. Not being able to write an archive either means it is disabled in the php.ini (see Phar::canWrite()) or that PHP can't write to the requested location of the phar archive&lt;strong&gt;. PharFileInfo must overload the method in order to accomplish that&lt;/strong&gt;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;== Code ==&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;== Code ==&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;code php&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;lt;code php&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/svnexternals?rev=1214926408&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-07-01T15:33:28+00:00</dc:date>
        <title>rfc:svnexternals</title>
        <link>http://wiki.php.net/rfc/svnexternals?rev=1214926408&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;====== Request for Comments: How to write RFCs ======&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Version: 1.0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Date: 2008-07-01&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Author: Gwynne Raskind &amp;lt;gwynne@php.net&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: Under Discussion&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/svnexternals&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This RFC discusses the ways in which the old CVS modules can be translated into SVN externals.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;CVS uses a modules file in CVSROOT to provide aliases and directory grouping. When converting to SVN, there is no immediate equivelant for some of the constructs the old repository uses. There are various alternative possibilities, enumerated here.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Grouped modules =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;The most common use of the modules file was creating the &amp;quot;php-src&amp;quot; directory using the php-src module, the TSRM module, and the Zend or ZendEngine2 modules. This is accomplished effectively using an svn:externals property set on the php-src/trunk directory in the SVN repository. Different branches of php-src may use different externals, such as PHP 4 making use of Zend while PHP 5 makes use of ZendEngine2, and PHP 6 may in the future make use of a ZendEngine3 or similar. In practical terms there will never be a need for separate Zend modules in SVN and it might be sensible to merge them together, pasting ZendEngine2's newer data atop Zend's older files and continuing to use a single Zend module.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Pseudo-modules =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;The other common use of modules was the creation of pseudo-modules such as phpdoc-ja-only from the phpdoc-ja module, and even more the phpdoc-all module which includes all doc language modules. There is no equivelant to such modules in SVN, but there are several ways to achieve a similar effect:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; - Create empty directories in the repository which link to the modules that they contain using svn:externals.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Pros&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Most like the current system&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Cons&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Ugly, unsupported, and unnecessary.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; - Use a single combined phpdoc module and require client checkouts to use SVN 1.5's Sparse Directories feature.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Pros&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Very clean, keeps the repository neat&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Cons&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Clients must remember to specify the appropriate --depth options or they'll check out much more than intended; sparseness can not be set on the server side&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; - Maintain the documentation buildsystem and each set of language files separately.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Pros&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Possibly the cleanest solution possible&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Falls in line with the current line of development for the documentation build system, PhD&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; * Cons&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Represents a considerable change to the way things currently work&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Requires support from the buildsystem before it can be implemented&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Proposals that require discussion =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Here is a summary of decisions that need making:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Whether or not to merge ZendEngine2 into Zend and use a single Zend module (1/0)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Which method to use to replace pseudo-modules (1: 0/0; 2: 0/0; 3: 1/0)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;2008-07-01: Created&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/taint?rev=1214162757&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-06-22T19:25:57+00:00</dc:date>
        <title>rfc:taint</title>
        <link>http://wiki.php.net/rfc/taint?rev=1214162757&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1215475482&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;====== Taint support for PHP ======&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;====== Taint support for PHP ======&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * **Author:** Wietse Venema (wietse@porcupine.org) \\&amp;nbsp; IBM T.J. Watson Research Center \\&amp;nbsp; Hawthorne, NY, USA&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * **Author:** &lt;strong&gt;[[http://www.porcupine.org/wietse/|&lt;/strong&gt;Wietse Venema (wietse@porcupine.org)&lt;strong&gt;]] &lt;/strong&gt;\\&amp;nbsp; IBM T.J. Watson Research Center \\&amp;nbsp; Hawthorne, NY, USA&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Version:** 20080622&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Version:** 20080622&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Source code:** [[ftp://ftp.porcupine.org/pub/php/php-5.2.5-taint-20080622.tar.gz|tar.gz]]&amp;nbsp; ([[ftp://ftp.porcupine.org/pub/php/php-5.2.5-taint-20080622.tar.gz.sig|pgp signature]])&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * **Source code:** [[ftp://ftp.porcupine.org/pub/php/php-5.2.5-taint-20080622.tar.gz|tar.gz]]&amp;nbsp; ([[ftp://ftp.porcupine.org/pub/php/php-5.2.5-taint-20080622.tar.gz.sig|pgp signature]])&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/template?rev=1207563677&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-07T10:21:17+00:00</dc:date>
        <title>rfc:template</title>
        <link>http://wiki.php.net/rfc/template?rev=1207563677&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;====== Request for Comments: How to write RFCs ======&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Version: 1.0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Date: 2008-03-06&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Author: Stefan Marr &amp;lt;php.at.stefan-marr.de&amp;gt;, Lukas Smith &amp;lt;smith@pooteeweet.org&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Status: Under Discussion&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * First Published at: http://wiki.php.net/rfc/traits&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Other formats ..&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This RFC is a template other people can use to write their own RFCs.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;The purpose of RFCs are to work collaboratively towards a specification and finally an implementation of an idea.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Why do we need RFCs? ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;They serve to keep a summary of on going discussions. This way people can keep an overview of the state of the discussion. Even if never put into place in the end, they also serve as a historical log of discussions that is much easier to read compared to mailinglist threads.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Common Misconceptions =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;RFCs do not in any way replace discussions on the mailing list.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Proposal and Patch =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Nothing needs to be patched here. Just use this template at your discretion.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Rejected Features ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Automated voting system.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== More about RFCs ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;http://en.wikipedia.org/wiki/Request_for_Comments&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===== Changelog =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/tls?rev=1219777477&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-08-26T19:04:37+00:00</dc:date>
        <title>rfc:tls</title>
        <link>http://wiki.php.net/rfc/tls?rev=1219777477&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1219760920&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 34:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Unfortunately the TLS model used in these tests was the static model, which is restrictive, and in particular does not allow to use it in shared libraries which will be loaded dynamically. (c.f [[tls#tls_internals|TLS internals]] bellow).&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Unfortunately the TLS model used in these tests was the static model, which is restrictive, and in particular does not allow to use it in shared libraries which will be loaded dynamically. (c.f [[tls#tls_internals|TLS internals]] bellow).&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;For the PHP module to be able to be loaded at runtime in Apache or an other server with this patch enabled, it has to be built with the &lt;strong&gt;static &lt;/strong&gt;TLS model (on gcc, -ftls-model=global-dynamic), which also requires to build position independent code. While the last makes a big difference on IA-32, this is the default on x86_64 and the results on bench.php on an unpatched PHP are the same as IA-32/PIC builds.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;For the PHP module to be able to be loaded at runtime in Apache or an other server with this patch enabled, it has to be built with the &lt;strong&gt;dynamic &lt;/strong&gt;TLS model (on gcc, -ftls-model=global-dynamic), which also requires to build position independent code. While the last makes a big difference on IA-32, this is the default on x86_64 and the results on bench.php on an unpatched PHP are the same as IA-32/PIC builds.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Native TLS can be enabled with %%--with-tsrm-__thread-tls%% or %%--with-tsrm-full__thread-tls%%. The last declares globals statically instead of making them pointers.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Native TLS can be enabled with %%--with-tsrm-__thread-tls%% or %%--with-tsrm-full__thread-tls%%. The last declares globals statically instead of making them pointers.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 91:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 91:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Windows =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Windows =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Dynamically loaded DLLs can use TLS starting with Windows Vista and Server 2008. But there is a restriction: TLS variables can't be exported, which means that they can't be accessed outside of the DLL. CLI and ISAPI SAPIs works with TLS enabled, but they must be built like this is done on other platforms, with all code embeded in the executable/library. The same apply for extension, they must be built statically in PHP.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Dynamically loaded DLLs can use TLS starting with Windows Vista and Server 2008. But there is a restriction: TLS variables can't be exported, which means that they can't be accessed outside of the DLL. CLI and ISAPI SAPIs works with TLS enabled, but they must be built like this is done on other platforms, with all code embeded in the executable/library &lt;strong&gt;(instead of a separate php5ts.dll linked by SAPIs)&lt;/strong&gt;. The same apply for extension, they must be built statically in PHP.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== TLS internals =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== TLS internals =====&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/traits?rev=1255613181&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-10-15T13:26:21+00:00</dc:date>
        <title>rfc:traits</title>
        <link>http://wiki.php.net/rfc/traits?rev=1255613181&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1232298209&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 504:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 504:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;This section collects proposals for alternative Traits syntaxes.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;This section collects proposals for alternative Traits syntaxes.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;==== Scala Synthax and practical example ====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;This is inpired from [[http://www.scala-lang.org/node/117]].&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;code php&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;trait User_Comments &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;{&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  function addComment($c)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db = App::getDb();&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db-&amp;gt;Execute(&amp;quot;INSERT INTO user_comments (type, type_id, user_id, text)VALUES ($c-&amp;gt;type, $c-&amp;gt;type_id, $c-&amp;gt;uid, $c-&amp;gt;text)&amp;quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  function getComments($filter)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  return array();&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  function removeComment($id)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db = App::getDb();&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db-&amp;gt;Execute(&amp;quot;DELETE FROM user_comments ... &amp;quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;class App_Email with User_Comments {}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;class App_Document with User_Comments&amp;nbsp; {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  function removeComment($id)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db = App::getDb();&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db-&amp;gt;Execute(&amp;quot;DELETE FROM user_comments ... &amp;quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db-&amp;gt;Execute(&amp;quot;UPDATE app_documents SET comments_count = ... &amp;quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;// PHP notice : 'User_Comments::removeComment() definition skipped in App_Document'&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;$doc = new App_Document;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo is_a($doc, 'App_Document');&amp;nbsp; &amp;nbsp;  // true&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo is_a($doc, 'User_Comments');&amp;nbsp; &amp;nbsp; // false&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo is_with($doc, 'User_Comments'); // true&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;We deal with conflicting class definitions by simply ignoring them.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;code php&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;trait Conflict_Comments &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;{&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  function removeComment($id)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  return false;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;class App_Document_Conflict with User_Comments, Conflict_Comments&amp;nbsp; {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  function removeComment($id)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  {&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db = App::getDb();&amp;nbsp;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db-&amp;gt;Execute(&amp;quot;DELETE FROM user_comments ... &amp;quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $db-&amp;gt;Execute(&amp;quot;UPDATE app_documents SET comments_count = ... &amp;quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; &amp;nbsp;  }&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;// PHP notice : 'User_Comments::removeComment() definition skipped in App_Document_Conflict'&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;// PHP notice : 'Conflict_Comments::removeComment() definition skipped in App_Document_Conflict'&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;$doc = new App_Document_Conflict;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo is_a($doc, 'App_Document_Conflict');// true&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo is_with($doc, 'User_Comments');&amp;nbsp; &amp;nbsp;  // true&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;echo is_with($doc, 'Conflict_Comments'); // true&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;lt;/code&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Alternative Keywords for use ===&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Alternative Keywords for use ===&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/typechecking?rev=1246654366&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-03T20:52:46+00:00</dc:date>
        <title>rfc:typechecking</title>
        <link>http://wiki.php.net/rfc/typechecking?rev=1246654366&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1246654315&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 6:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * [[rfc:typehint|Return value and parameter type hint]] by Felipe&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * [[rfc:typehint|Return value and parameter type hint]] by Felipe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * [[rfc:typecheckingstrictandweak|Strict and weak parameter type checking]] by Lukas&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * [[rfc:typecheckingstrictandweak|Strict and weak parameter type checking]] by Lukas&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * [[rfc:typecheckingstrictonly|Optional Strict Type Checking for Scalars]] by Paul&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * [[rfc:typecheckingstrictonly|Optional Strict Type Checking for Scalars]] by Paul &lt;strong&gt;(Ilia's proposal)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/typecheckingstrictandweak?rev=1246948475&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-07T06:34:35+00:00</dc:date>
        <title>rfc:typecheckingstrictandweak</title>
        <link>http://wiki.php.net/rfc/typecheckingstrictandweak?rev=1246948475&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1246917991&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 37:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ true (boolean)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | fail&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | fail&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | pass | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ true (boolean)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | fail&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | fail&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | pass | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ false (boolean)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | fail&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | fail&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | pass | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ false (boolean)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | fail&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | fail&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | pass | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;^ 0 (integer)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | fail&amp;nbsp;  | &lt;strong&gt;fail &lt;/strong&gt; | pass&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | pass | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;^ 0 (integer)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | fail&amp;nbsp;  | &lt;strong&gt;pass &lt;/strong&gt; | pass&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | pass | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ 1 (integer)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | fail&amp;nbsp;  | pass&amp;nbsp; | pass&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | pass | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ 1 (integer)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | fail&amp;nbsp;  | pass&amp;nbsp; | pass&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | pass | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ 12 (integer)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | fail&amp;nbsp;  | pass&amp;nbsp; | pass&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ 12 (integer)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | fail&amp;nbsp;  | pass&amp;nbsp; | pass&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;^ 12 (double)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | fail&amp;nbsp;  | pass&amp;nbsp; | &lt;strong&gt;pass &lt;/strong&gt; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;^ 12 (double)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | fail&amp;nbsp;  | pass&amp;nbsp; | &lt;strong&gt;fail &lt;/strong&gt; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ 12.34 (double)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | fail&amp;nbsp;  | pass&amp;nbsp; | fail&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ 12.34 (double)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | fail&amp;nbsp;  | pass&amp;nbsp; | fail&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ 'true' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | pass&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | fail&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ 'true' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | pass&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | fail&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 46:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 46:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ '0' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | pass | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ '0' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | pass | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ '1' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | pass | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ '1' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | pass | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;^ '12' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | pass&amp;nbsp;  | &lt;strong&gt;pass &lt;/strong&gt; | &lt;strong&gt;pass &lt;/strong&gt; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;^ '12' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | pass&amp;nbsp;  | &lt;strong&gt;fail &lt;/strong&gt; | &lt;strong&gt;fail &lt;/strong&gt; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ '12abc' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | fail&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ '12abc' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | fail&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;^ '12.0' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | pass&amp;nbsp;  | &lt;strong&gt;pass &lt;/strong&gt; | &lt;strong&gt;pass &lt;/strong&gt; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; | &lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;^ '12.0' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  | pass&amp;nbsp;  | &lt;strong&gt;fail &lt;/strong&gt; | &lt;strong&gt;fail &lt;/strong&gt; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; | &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;^ '12.34' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | &lt;strong&gt;pass &lt;/strong&gt; | fail&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;^ '12.34' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | &lt;strong&gt;fail &lt;/strong&gt; | fail&amp;nbsp; | pass&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ 'foo' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | fail&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ 'foo' (string)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | fail&amp;nbsp; &amp;nbsp; | pass&amp;nbsp;  | fail | fail&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ array () (array)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | fail&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | fail&amp;nbsp; &amp;nbsp; | fail&amp;nbsp;  | fail | pass&amp;nbsp; |&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;^ array () (array)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | fail&amp;nbsp;  | fail&amp;nbsp; | fail&amp;nbsp; | fail&amp;nbsp; &amp;nbsp; | fail&amp;nbsp;  | fail | pass&amp;nbsp; |&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/typecheckingstrictonly?rev=1256239875&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-10-22T19:31:15+00:00</dc:date>
        <title>rfc:typecheckingstrictonly</title>
        <link>http://wiki.php.net/rfc/typecheckingstrictonly?rev=1256239875&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1256239875&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 20:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::isInt() - Returns whether parameter MUST be a long&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::isInt() - Returns whether parameter MUST be a long&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::isDouble() -Returns whether parameter MUST be a double&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::isDouble() -Returns whether parameter MUST be a double&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::isBool() - Returns whether parameter MUST be a boolean&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::isBool() - Returns whether parameter MUST be a boolean&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::isObject() - Returns whether parameter MUST be a boolean&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::isObject() - Returns whether parameter MUST be a boolean&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::isString() - Returns whether parameter MUST be a string&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::isString() - Returns whether parameter MUST be a string&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::isResource() - Returns whether parameter MUST be a resource&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::isResource() - Returns whether parameter MUST be a resource&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::getTypeHint() - Returns what type hint is defined for this parameter&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;ReflectionParameter::getTypeHint() - Returns what type hint is defined for this parameter&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/typecheckingweak?rev=1247413387&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-12T15:43:07+00:00</dc:date>
        <title>rfc:typecheckingweak</title>
        <link>http://wiki.php.net/rfc/typecheckingweak?rev=1247413387&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1247469824&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 116:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 116:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;The main 'contender' to this RFC is the Strict Typing RFC.&amp;nbsp; Unlike Type Enforcement, Strict Typing is based on a strict comparison of the zval.type value.&amp;nbsp; As such, it introduces an entirely new semantics to PHP, especially around parameter passing.&amp;nbsp; Today, the zval.type is used only by a handful of functions (is_int() et al, gettype()), and the identity operator.&amp;nbsp; These functions are much more rarely used than their more 'lax' siblings (is_numeric()) which are typically more appropriate;&amp;nbsp; While the identity operator is typically used for specialized cases, e.g. when dealing with a function returning an integer, and having to tell boolean false apart.&amp;nbsp; It is therefore argued that extending a zval.type-based checks into parameter passing - a center-piece of the language - will inadvertently change the theme of the language, and the expected 'lax' type checking behavior expected from it today.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;The main 'contender' to this RFC is the Strict Typing RFC.&amp;nbsp; Unlike Type Enforcement, Strict Typing is based on a strict comparison of the zval.type value.&amp;nbsp; As such, it introduces an entirely new semantics to PHP, especially around parameter passing.&amp;nbsp; Today, the zval.type is used only by a handful of functions (is_int() et al, gettype()), and the identity operator.&amp;nbsp; These functions are much more rarely used than their more 'lax' siblings (is_numeric()) which are typically more appropriate;&amp;nbsp; While the identity operator is typically used for specialized cases, e.g. when dealing with a function returning an integer, and having to tell boolean false apart.&amp;nbsp; It is therefore argued that extending a zval.type-based checks into parameter passing - a center-piece of the language - will inadvertently change the theme of the language, and the expected 'lax' type checking behavior expected from it today.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;In that context, it's important to mention that the two most common sources for data going into PHP - input data (_GET, _POST, etc.) and data coming from &lt;strong&gt;the database &lt;/strong&gt;- are almost exclusively typed as strings.&amp;nbsp; While some do type conversion during the input sanitizing phase - that is not always the case, especially with data coming from the database.&amp;nbsp; Strict Typing is inherently incompatible with this concept, in the sense that it assumes the underlying data type (zval.type) is identical to the semantics of the value.&amp;nbsp; It does not come to say that the two cannot be used together - but they are a pretty bad fit.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;In that context, it's important to mention that the two most common sources for data going into PHP - input data (_GET, _POST, etc.) and data coming from &lt;strong&gt;external resources (e.g. databases, config files, memcached, etc.) &lt;/strong&gt;- are almost exclusively typed as strings.&amp;nbsp; While some do type conversion during the input sanitizing phase - that is not always the case, especially with data coming from the database.&amp;nbsp; Strict Typing is inherently incompatible with this concept, in the sense that it assumes the underlying data type (zval.type) is identical to the semantics of the value.&amp;nbsp; It does not come to say that the two cannot be used together - but they are a pretty bad fit.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Furthermore - it is important to notice that the sole difference between Strict Typing and this proposed solution has to do with what happens **outside** the scope of the type-argumented function.&amp;nbsp; In other words - all the benefits for the function code itself (readability, code reduction, optimization, etc.) is 100.0% identical.&amp;nbsp; The semantics of what happens during the parameter-passing stage is what's different.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;Furthermore - it is important to notice that the sole difference between Strict Typing and this proposed solution has to do with what happens **outside** the scope of the type-argumented function.&amp;nbsp; In other words - all the benefits for the function code itself (readability, code reduction, optimization, etc.) is 100.0% identical.&amp;nbsp; The semantics of what happens during the parameter-passing stage is what's different.&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/typehint?rev=1208451592&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-17T16:59:52+00:00</dc:date>
        <title>rfc:typehint</title>
        <link>http://wiki.php.net/rfc/typehint?rev=1208451592&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1208443259&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 4:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Felipe Pena &amp;lt;felipensp@gmail.com&amp;gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Author: Felipe Pena &amp;lt;felipensp@gmail.com&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Status: [[http://news.php.net/php.internals/37049|Under Discussion]]&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Status: [[http://news.php.net/php.internals/37049|Under Discussion]]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;====== Details of implementation ======&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;====== Details of implementation ======&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;**Parameter type hint:**&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;**Parameter type hint:**&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; - The behavior when the default parameter value is ''NULL'' was &lt;strong&gt;keeped&lt;/strong&gt;.&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; - The behavior when the default parameter value is ''NULL'' was &lt;strong&gt;kept&lt;/strong&gt;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;**Both:**&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;**Both:**&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; - Binary and unicode string are specified by ''string''.&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; - Binary and unicode string are specified by ''string''.&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="http://wiki.php.net/rfc/zendsignals?rev=1258783199&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-11-21T05:59:59+00:00</dc:date>
        <title>rfc:zendsignals</title>
        <link>http://wiki.php.net/rfc/zendsignals?rev=1258783199&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;1218573532&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 5:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Status: Under Discussion&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * Status: Under Discussion&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Proposed by: [[http://markmail.org/message/3jg6cwqfghdlydhy|Rasmus Lerdorf]]&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp; * First Proposed by: [[http://markmail.org/message/3jg6cwqfghdlydhy|Rasmus Lerdorf]]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;nbsp; * Source code: [[http://&lt;strong&gt;sizzo&lt;/strong&gt;.&lt;strong&gt;org&lt;/strong&gt;/&lt;strong&gt;~screen&lt;/strong&gt;/&lt;strong&gt;patches&lt;/strong&gt;/php-5.3.&lt;strong&gt;0-alarms-0808121020&lt;/strong&gt;.patch|&lt;strong&gt;PHP_5_3_0 &lt;/strong&gt;patch]] [[http://&lt;strong&gt;sizzo&lt;/strong&gt;.&lt;strong&gt;org&lt;/strong&gt;/&lt;strong&gt;~screen&lt;/strong&gt;/&lt;strong&gt;patches&lt;/strong&gt;/php-&lt;strong&gt;HEAD&lt;/strong&gt;-&lt;strong&gt;alarms-0808121015&lt;/strong&gt;.patch|&lt;strong&gt;PHP_HEAD &lt;/strong&gt;patch]] (&lt;strong&gt;08&lt;/strong&gt;-&lt;strong&gt;12&lt;/strong&gt;-&lt;strong&gt;2008&lt;/strong&gt;).&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp; * Source code: [[http://&lt;strong&gt;tekrat&lt;/strong&gt;.&lt;strong&gt;com&lt;/strong&gt;/&lt;strong&gt;downloads&lt;/strong&gt;/&lt;strong&gt;bits&lt;/strong&gt;/php-5.3&lt;strong&gt;-signals&lt;/strong&gt;.&lt;strong&gt;20091120&lt;/strong&gt;.patch|&lt;strong&gt;PHP_5_3 &lt;/strong&gt;patch]] [[http://&lt;strong&gt;tekrat&lt;/strong&gt;.&lt;strong&gt;com&lt;/strong&gt;/&lt;strong&gt;downloads&lt;/strong&gt;/&lt;strong&gt;bits&lt;/strong&gt;/php-&lt;strong&gt;trunk&lt;/strong&gt;-&lt;strong&gt;signals.20091120&lt;/strong&gt;.patch|&lt;strong&gt;PHP Trunk &lt;/strong&gt;patch]] (&lt;strong&gt;11&lt;/strong&gt;-&lt;strong&gt;20&lt;/strong&gt;-&lt;strong&gt;2009&lt;/strong&gt;).&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;===== Introduction =====&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 116:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 116:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp;  - 2008-08-05 Arnaud Le Blanc: Added zend_sigaction() and ported PCNTL to use it. ([[http://sizzo.org/~screen/patches/php-5.3.0-alarms-0808021704.patch|PHP_5_3_0 prev patch]] [[http://sizzo.org/~screen/patches/php-HEAD-alarms-0808021832.patch|PHP_HEAD prev patch]])&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp;  - 2008-08-05 Arnaud Le Blanc: Added zend_sigaction() and ported PCNTL to use it. ([[http://sizzo.org/~screen/patches/php-5.3.0-alarms-0808021704.patch|PHP_5_3_0 prev patch]] [[http://sizzo.org/~screen/patches/php-HEAD-alarms-0808021832.patch|PHP_HEAD prev patch]])&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp;  - 2008-08-12 Lucas Nealan: Update patches to latest CVS, minor TWS fixes etc. ([[http://arnaud.lb.s3.amazonaws.com/php-5.3.0-alarms-0808051122.patch|PHP_5_3_0 prev patc]] [[http://arnaud.lb.s3.amazonaws.com/php-HEAD-alarms-0808051122.patch|PHP_HEAD prev patch]])&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;nbsp;  - 2008-08-12 Lucas Nealan: Update patches to latest CVS, minor TWS fixes etc. ([[http://arnaud.lb.s3.amazonaws.com/php-5.3.0-alarms-0808051122.patch|PHP_5_3_0 prev patc]] [[http://arnaud.lb.s3.amazonaws.com/php-HEAD-alarms-0808051122.patch|PHP_HEAD prev patch]])&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;nbsp;  - 2009-11-20 Brian Shire: Updated patches for latest CVS with some fixes for bugs caused by another fix to the handling of signals during user-space shutdown functions. ([[http://sizzo.org/~screen/patches/php-5.3.0-alarms-0808121020.patch|PHP_5_3_0 prev patch]] [[http://sizzo.org/~screen/patches/php-HEAD-alarms-0808121015.patch|PHP_HEAD prev patch]])&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
</rdf:RDF>
