From 82a48b2ccda7f6c50e367cd8a67c5da1728fa2ee Mon Sep 17 00:00:00 2001 From: lacatoire Date: Mon, 19 Oct 2026 16:12:35 +0200 Subject: [PATCH] [Sync-En] Sync array_filter, php://input, call_user_func_array, object comparison and SessionHandlerInterface --- language/oop5/object-comparison.xml | 4 +-- language/wrappers/php.xml | 33 ++++++++++--------- reference/array/functions/array-filter.xml | 8 +++-- .../functions/call-user-func-array.xml | 3 +- reference/session/sessionhandlerinterface.xml | 15 ++++----- 5 files changed, 34 insertions(+), 29 deletions(-) diff --git a/language/oop5/object-comparison.xml b/language/oop5/object-comparison.xml index e792261024..5e3486130a 100644 --- a/language/oop5/object-comparison.xml +++ b/language/oop5/object-comparison.xml @@ -1,5 +1,5 @@ - + Comparación de objetos @@ -30,7 +30,7 @@ function bool2str($bool) } } -function compareObjects(&$o1, &$o2) +function compareObjects($o1, $o2) { echo 'o1 == o2 : '.bool2str($o1 == $o2)."\n"; echo 'o1 != o2 : '.bool2str($o1 != $o2)."\n"; diff --git a/language/wrappers/php.xml b/language/wrappers/php.xml index 21ffcc175c..1867234f4d 100644 --- a/language/wrappers/php.xml +++ b/language/wrappers/php.xml @@ -1,5 +1,5 @@ - + @@ -14,7 +14,7 @@ PHP proporciona un número importante de flujos I/O que permiten acceder a los flujos de entrada y salida de PHP mismo, a los descriptores de ficheros de entrada, salida y error estándar, a flujos que representan - ficheros temporales en memoria viva o en disco, así como a filtros + ficheros temporales en memoria o en disco, así como a filtros que pueden manipular otros recursos de ficheros durante la lectura o escritura. @@ -43,6 +43,7 @@ php://input es un flujo de solo lectura que permite leer datos sin tratar desde el cuerpo de la petición. + Puede abrirse y leerse tantas veces como sea necesario. php://input no está disponible en las peticiones POST con enctype="multipart/form-data" si la opción enable_post_data_reading @@ -78,7 +79,7 @@ estos dos flujos es que php://memory almacenará siempre sus datos en memoria, mientras que php://temp utilizará un fichero temporal una vez que la cantidad de datos almacenados haya superado - un límite predefinido (por omisión, 2 Mo). La ubicación + un límite predefinido (por omisión, 2 MB). La ubicación de este fichero temporal se determina de la misma manera que para la función sys_get_temp_dir. @@ -171,7 +172,7 @@ - + &reftitle.options; @@ -277,11 +278,11 @@
-
+
- + &reftitle.examples; - + php://temp/maxmemory Este parámetro opcional permite configurar el límite @@ -291,7 +292,7 @@ ]]> - - + + php://filter/resource=<flujo a filtrar> Este parámetro debe ser colocado al final de la especificación @@ -322,8 +323,8 @@ readfile("php://filter/resource=http://www.example.com"); ?> ]]> - - + + php://filter/read=<lista de filtros a aplicar a la lectura> Este parámetro toma uno o más nombres de filtros separados por @@ -342,8 +343,8 @@ readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.exam ?> ]]> - - + + php://filter/write=<lista de filtros a aplicar a la escritura> Este parámetro toma uno o más nombres de filtros separados por @@ -359,7 +360,7 @@ file_put_contents("php://filter/write=string.rot13/resource=example.txt","Hello ?> ]]> - + php://memory y php://temp no son reutilizables @@ -396,7 +397,7 @@ print_r($json_array); ]]> - + + @@ -77,6 +77,10 @@ Por omisión 0, que pasará el valor como único argumento de callback. + + Si callback es &null;, mode + se ignora y solo se comprueban los valores. + @@ -166,7 +170,7 @@ Array - Ejemplo con <function>array_filter</function> + <title>Ejemplo con <function>array_filter</function> sin <parameter>callback</parameter> - + @@ -249,6 +249,7 @@ Fatal error: Uncaught Error: Cannot use positional argument after named argument call_user_func + Desempaquetado de argumentos ReflectionFunction::invokeArgs ReflectionMethod::invokeArgs diff --git a/reference/session/sessionhandlerinterface.xml b/reference/session/sessionhandlerinterface.xml index 5d07e8e7a4..67540a9f20 100644 --- a/reference/session/sessionhandlerinterface.xml +++ b/reference/session/sessionhandlerinterface.xml @@ -1,5 +1,5 @@ - + @@ -34,9 +34,7 @@ &Methods; - - - + @@ -114,13 +112,14 @@ class MySessionHandler implements SessionHandlerInterface #[\ReturnTypeWillChange] public function gc($maxlifetime) { + $deleted = 0; foreach (glob("$this->savePath/sess_*") as $file) { - if (filemtime($file) + $maxlifetime < time() && file_exists($file)) { - unlink($file); + if (filemtime($file) + $maxlifetime < time() && file_exists($file) && unlink($file)) { + $deleted++; } } - return true; + return $deleted; } } @@ -128,7 +127,7 @@ $handler = new MySessionHandler(); session_set_save_handler($handler, true); session_start(); -// proceed to set and retrieve values by key from $_SESSION +// proceder a establecer y recuperar valores por clave desde $_SESSION ]]>