Un usuario preguntó 👇
Hola,
Me encontré con un problema que agregaba llamadas add_action()
se llama dos veces, lo que no esperaba. No estoy seguro de si este es el comportamiento esperado o no.
class Tester {
public function tester() {
error_log( __METHOD__ . ' called' );
}
public function testSomething() {
error_log( __METHOD__ . ' called' );
}
}
$_oTest1 = new Tester;
add_action( 'plugins_loaded', array( $_oTest1, 'tester' ) );
add_action( 'plugins_loaded', array( $_oTest1, 'testSomething' ) );
Verás el método tester()
se llama dos veces testSomething()
llamado solo una vez.
¿Es esto un error o por diseño?
Este tema fue modificado hace 2 años, 4 meses por. Razón: marcado fijo hacia abajo
(@jakept)
Hace 2 años, 4 meses
En PHP, si una clase tiene un método con el mismo nombre, se trata como constructor. Esto es de versiones anteriores y es una falta de respeto, pero eso es lo que sucederá si no __construct()
método.
Para compatibilidad con versiones anteriores de PHP 3 y 4, si PHP no puede encontrar una función __construct () para una clase en particular, buscará la función de construcción de estilo antiguo, por nombre de clase.
http://www.php.net/manual/en/language.oop5.decon.php
Asi que tester()
corriendo cuando haces esto: $_oTest1 = new Tester;
Lanzador de hilos
(@umchal)
Hace 2 años, 4 meses
Ya veo. ¡Gracias!
¿Solucionó tu problema??
0 / 0