Hello PHP EN Documentation team, There are contributions within the online editor queue for this language. Please review, then commit or delete these patches.
Patches for review : ----------------------- New file: en/reference/sqlite3/sqlite3/createcollation.xml By: b dewar on 2013-04-10 04:59:20 =================================================================== --- en/reference/sqlite3/sqlite3/createcollation.xml +++ en/reference/sqlite3/sqlite3/createcollation.xml @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- $Revision: 299459 $ --> + +<refentry xml:id="sqlite3.createcollation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> + <refnamediv> + <refname>SQLite3::createCollation</refname> + + <refpurpose>Registers a PHP function for use as an SQL collating function</refpurpose> + </refnamediv> + + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <modifier>public</modifier> <type>bool</type><methodname>SQLite3::createCollation</methodname> + <methodparam><type>string</type><parameter>name</parameter></methodparam> + <methodparam><type>callable</type><parameter>callback</parameter></methodparam> + </methodsynopsis> + <para> + Registers a PHP function or user-defined function for use as a collating + function within SQL statements. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <variablelist> + <varlistentry> + <term><parameter>name</parameter></term> + <listitem> + <para> + Name of the SQL collating function to be created or redefined + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>callback</parameter></term> + <listitem> + <para> + The name of a PHP function or user-defined function to apply as a + callback, defining the behavior of the collation. It should accept + two strings and return as <function>strcmp</function> does, i.e. it should return -1, 1, + or 0 if the first string sorts before, sorts after, or is equal to the second. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + &return.success; + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title><function>SQLite3::createCollation</function> example</title> + <para> + Register the PHP function <function>strnatcmp</function> as a collating sequence in the SQLite3 database. + </para> + <programlisting role="php"> +<![CDATA[ +<?php + +$db = new SQLite3(":memory:"); +$db->exec("CREATE TABLE test (col1 string)"); +$db->exec("INSERT INTO test VALUES ('a1')"); +$db->exec("INSERT INTO test VALUES ('a10')"); +$db->exec("INSERT INTO test VALUES ('a2')"); + +$db->createCollation('NATURAL_CMP', 'strnatcmp'); + +$defaultSort = $db->query("SELECT col1 FROM test ORDER BY col1"); +$naturalSort = $db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP"); + +echo "default:n"; +while ($row = $defaultSort->fetchArray()){ + echo $row['col1'], "n"; +} + +echo "nnatural:n"; +while ($row = $naturalSort->fetchArray()){ + echo $row['col1'], "n"; +} + +$db->close(); + +?> +]]> + </programlisting> + &example.outputs; + <screen> +<![CDATA[ + +default: +a1 +a10 +a2 + +natural: +a1 +a2 +a10 + +]]> + </screen> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <simplelist> + <member>The SQLite collation documentation: <link xlink:href="&url.sqlite.collation;">&url.sqlite.collation;</link></member> + </simplelist> + </refsect1> + +</refentry> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +sgml-parent-document:nil +sgml-default-dtd-file:"~/.phpdoc/manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> No newline at end of file => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=43558 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=43558 ------------------------------------------------------------------ Modified: en/reference/sqlite3/versions.xml By: b dewar on 2012-11-29 08:42:57 =================================================================== --- en/reference/sqlite3/versions.xml +++ en/reference/sqlite3/versions.xml @@ -9,6 +9,7 @@ <function name='SQLite3::changes' from='PHP 5 >= 5.3.0'/> <function name='SQLite3::close' from='PHP 5 >= 5.3.0'/> <function name='SQLite3::createAggregate' from='PHP 5 >= 5.3.0'/> + <function name='SQLite3::createCollation' from='PHP 5 >= 5.4.0'/> <function name='SQLite3::createFunction' from='PHP 5 >= 5.3.0'/> <function name='SQLite3::escapeString' from='PHP 5 >= 5.3.0'/> <function name='SQLite3::exec' from='PHP 5 >= 5.3.0'/> => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=43559 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=43559 ------------------------------------------------------------------ Modified: en/reference/yaf/yaf_controller_abstract/construct.xml By: Niel Archer on 2013-03-07 03:22:32 =================================================================== --- en/reference/yaf/yaf_controller_abstract/construct.xml +++ en/reference/yaf/yaf_controller_abstract/construct.xml @@ -15,8 +15,8 @@ </methodsynopsis> <para> <methodname>Yaf_Controller_Abstract::__construct</methodname> is final, - which means it can not be overrode. - you mean want to see + which means it can not be overridden. + You may want to see <methodname>Yaf_Controller_Abstract::init</methodname> instead. </para> </refsect1> => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=45735 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=45735 ------------------------------------------------------------------ Modified: en/reference/mongo/mongoint32.xml By: daijie on 2013-03-13 22:54:19 =================================================================== --- en/reference/mongo/mongoint32.xml +++ en/reference/mongo/mongoint32.xml @@ -54,7 +54,7 @@ <term><varname>value</varname></term> <listitem> <simpara> - This is the string value of the 64-bit number. For instance, 123's value + This is the string value of the 32-bit number. For instance, 123's value would be "123". </simpara> </listitem> => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=45918 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=45918 ------------------------------------------------------------------ Modified: en/reference/var/functions/intval.xml By: anonymous on 2013-03-27 02:18:53 =================================================================== --- en/reference/var/functions/intval.xml +++ en/reference/var/functions/intval.xml @@ -40,6 +40,31 @@ <para> The base for the conversion </para> + <note> + <para> + If <parameter>base</parameter> is 0, the base used is determined + by the format of <parameter>var</parameter>: + <itemizedlist> + <listitem> + <simpara> + if string includes a "0x" (or "0X") prefix, the base is taken + as 16 (hex); otherwise, + </simpara> + </listitem> + <listitem> + <simpara> + if string starts with "0", the base is taken as 8 (octal); + otherwise, + </simpara> + </listitem> + <listitem> + <simpara> + the base is taken as 10 (decimal). + </simpara> + </listitem> + </itemizedlist> + </para> + </note> </listitem> </varlistentry> </variablelist> => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=46078 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=46078 ------------------------------------------------------------------ Modified: en/reference/pcre/pattern.syntax.xml By: anonymous on 2013-03-29 01:31:14 =================================================================== --- en/reference/pcre/pattern.syntax.xml +++ en/reference/pcre/pattern.syntax.xml @@ -271,7 +271,7 @@ <listitem> <simpara> a character with the xx property, see - <link linkend="regexp.reference.unicode">unicode properties</link> + <link linkend="regexp.reference.unicode">Unicode properties</link> for more info </simpara> </listitem> @@ -281,7 +281,17 @@ <listitem> <simpara> a character without the xx property, see - <link linkend="regexp.reference.unicode">unicode properties</link> + <link linkend="regexp.reference.unicode">Unicode properties</link> + for more info + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis>X</emphasis></term> + <listitem> + <simpara> + an Unicode grapheme, see + <link linkend="regexp.reference.unicode">Unicode properties</link> for more info </simpara> </listitem> @@ -611,7 +621,7 @@ </varlistentry> <varlistentry> <term><emphasis>X</emphasis></term> - <listitem><simpara>an extended Unicode sequence</simpara></listitem> + <listitem><simpara>any Unicode grapheme incl. an extended Unicode sequence</simpara></listitem> </varlistentry> </variablelist> <para> @@ -1020,15 +1030,7 @@ </tgroup> </table> <para> - The <literal>X</literal> escape matches any number of Unicode characters - that form an extended Unicode sequence. <literal>X</literal> is equivalent - to <literal>(?>PMpM*)</literal>. - </para> - <para> - That is, it matches a character without the "mark" property, followed - by zero or more characters with the "mark" property, and treats the - sequence as an atomic group (see below). Characters with the "mark" - property are typically accents that affect the preceding character. + The <literal>X</literal> escape matches any single Unicode grapheme regardless it is a single code-point or in form of an extended Unicode sequence with combining marks. </para> <para> Matching characters by Unicode property is not fast, because PCRE has => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=46090 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=46090 ------------------------------------------------------------------ Modified: en/reference/ldap/functions/ldap-add.xml By: Madara Uchiha on 2013-03-30 00:59:18 =================================================================== --- en/reference/ldap/functions/ldap-add.xml +++ en/reference/ldap/functions/ldap-add.xml @@ -89,7 +89,6 @@ // prepare data $info["cn"] = "John Jones"; $info["sn"] = "Jones"; - $info["mail"] = "j...@example.com"; $info["objectclass"] = "person"; // add data to directory => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=46103 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=46103 ------------------------------------------------------------------ Modified: en/reference/classobj/functions/get-object-vars.xml By: anonymous on 2013-03-31 05:40:56 =================================================================== --- en/reference/classobj/functions/get-object-vars.xml +++ en/reference/classobj/functions/get-object-vars.xml @@ -13,7 +13,7 @@ </methodsynopsis> <para> Gets the accessible non-static properties of the given - <parameter>object</parameter> according to scope. + <parameter>object</parameter> according to scope and name of the property. </para> </refsect1> <refsect1 role="parameters"> @@ -35,7 +35,7 @@ &reftitle.returnvalues; <para> Returns an associative array of defined object accessible non-static properties - for the specified <parameter>object</parameter> in scope. If a property has + for the specified <parameter>object</parameter> in scope and per the property-name. If a property has not been assigned a value, it will be returned with a &null; value. </para> </refsect1> @@ -59,6 +59,12 @@ </entry> </row> <row> + <entry>5.0.0</entry> + <entry> + This function now filters <type>integer</type> property-names out. Previously their values were returned. + </entry> + </row> + <row> <entry>4.2.0</entry> <entry> Properties which were declared in the class of the <parameter>object</parameter> => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=46111 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=46111 ------------------------------------------------------------------ Modified: en/reference/math/constants.xml By: anonymous on 2013-04-06 06:28:27 =================================================================== --- en/reference/math/constants.xml +++ en/reference/math/constants.xml @@ -146,13 +146,13 @@ <entry><constant>NAN</constant></entry> <entry>NAN (as a float)</entry> <entry>Not A Number</entry> - <entry></entry> + <entry>PHP 4.3.6</entry> </row> <row xml:id="constant.inf"> <entry><constant>INF</constant></entry> <entry>INF (as a float)</entry> <entry>The infinite</entry> - <entry></entry> + <entry>PHP 4.3.6</entry> </row> </tbody> </tgroup> => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=46202 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=46202 ------------------------------------------------------------------ Modified: en/reference/spl/seekableiterator.xml By: ha kre on 2013-04-17 03:41:11 =================================================================== --- en/reference/spl/seekableiterator.xml +++ en/reference/spl/seekableiterator.xml @@ -59,7 +59,7 @@ <?php class MySeekableIterator implements SeekableIterator { - private $position = 0; + private $position; private $array = array( "first element", @@ -68,20 +68,18 @@ "fourth element" ); + /* Method required for SeekableIterator interface */ + public function seek($position) { - $this->position = $position; - - if (!$this->valid()) { + if (!isset($this->array[$position]) { throw new OutOfBoundsException("invalid seek position ($position)"); } + + $this->position = $position; } /* Methods required for Iterator interface */ - public function __construct() { - $this->position = 0; - } - public function rewind() { $this->position = 0; } => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=46362 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=46362 ------------------------------------------------------------------ Modified: en/reference/filesystem/functions/realpath.xml By: mightyuhu on 2013-04-27 04:14:50 =================================================================== --- en/reference/filesystem/functions/realpath.xml +++ en/reference/filesystem/functions/realpath.xml @@ -15,7 +15,7 @@ <para> <function>realpath</function> expands all symbolic links and resolves references to '/./', '/../' and extra '/' characters in - the input <parameter>path</parameter> and return the canonicalized + the input <parameter>path</parameter> and returns the canonicalized absolute pathname. </para> </refsect1> => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=46414 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=46414 ------------------------------------------------------------------ Modified: en/internals2/memory/management.xml By: anonymous on 2013-05-02 13:03:51 =================================================================== --- en/internals2/memory/management.xml +++ en/internals2/memory/management.xml @@ -4,16 +4,16 @@ <title>Basic memory management</title> <para> - The engines memory management is implemented with features important to a system like PHP. The exact functionality of the engines memory management, and the optmizations performed, are out of the scope of this document, however a good understanding of its functionality provides a basis for a good understanding of the rest of <code>Hacker's</code> guide, and introduce you to terminology and functionality used through out PHP. + The engine's memory management is implemented with features important to a system like PHP. The exact functionality of the engine's memory management and the optmizations performed are out of the scope of this document. However, a good understanding of its functionality provides a basis for a good understanding of the rest of the <code>Hacker's Guide</code>, and introduce you to terminology and functionality used throughout PHP. </para> <para> - The most important of it's features for the <code>Hacker</code>, and the first to mention is tracking allocations. Tracking allocations allow the memory manager to avoid leaks, a thorn in the side of most <code>Hacker's</code>. When PHP is built in debug mode (<code>--enable-debug</code>), detected leaks are reported, in a perfect world they would never get to deployment. + The most important of its features for the <code>Hacker</code>, and the first thing to mention is tracking allocations. Tracking allocations allow the memory manager to avoid leaks, a thorn in the side of most <code>Hackers</code>. When PHP is built in debug mode (<code>--enable-debug</code>), detected leaks are reported, in a perfect world they would never get to deployment. </para> - <para>While tracking allocations is an important, and highly useful feature, the <code>Hacker</code> should not become lazy ! Always attempt to resolve leaks before deploying your code, a memory leak in a SAPI environment can become a very big problem, very quickly.</para> + <para>While tracking allocations is an important, and highly useful feature, the <code>Hacker</code> should not become lazy! Always attempt to resolve leaks before deploying your code, a memory leak in a SAPI environment can become a very big problem, very quickly.</para> - <para>Another, perhaps more incidental, but still noteworthy feature, is that the memory manager is the part that allows a hard limit on memory usage for each instance of PHP. As we all know, there is no such thing as unlimited. If some code is running out of memory, it is likely to be written wrong, either by the <code>Hacker</code>, or the programmer of PHP. Limiting the memory therefore is not a restriction on the language that is supposed to be experienced in production, it is simply a way from stopping development environments from spiraling out of control when mistakes are made, and equally, when bugs are found in production.</para> + <para>Another, perhaps more incidental but still noteworthy, feature is that the memory manager is the part that allows a hard limit on memory usage for each instance of PHP. As we all know, there is no such thing as unlimited. If some code is running out of memory, it is likely to be written wrong, either by the <code>Hacker</code>, or the programmer of PHP. Limiting the memory therefore is not a restriction on the language that is supposed to be experienced in production, it is simply a way from stopping development environments from spiraling out of control when mistakes are made, and equally, when bugs are found in production.</para> <para>From the <code>Hacker's</code> perspective, the memory management API looks very much like libc's (or whoever the <code>Hacker</code> prefers !) malloc implementation.</para> => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=46431 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=46431 ------------------------------------------------------------------ Modified: en/reference/gmp/examples.xml By: anonymous on 2013-05-05 15:01:00 =================================================================== --- en/reference/gmp/examples.xml +++ en/reference/gmp/examples.xml @@ -11,7 +11,7 @@ function fact($x) { $return = 1; - for ($i=2; $i < $x; $i++) { + for ($i=2; $i <= $x; $i++) { $return = gmp_mul($return, $i); } return $return; => Put this change into your patches : https://edit.php.net/?project=php&action=putIntoMyPatches&idDB=46454 => Delete this change: https://edit.php.net/?project=php&action=deleteThisChange&idDB=46454 ------------------------------------------------------------------ -- https://edit.php.net/ This email is send automatically by the Php Docbook Online Editor.