una - self php
¿Llama al método estático de la instancia en PHP, en desuso futuro? (1)
De la documentación de php :
No se puede acceder a una propiedad declarada como estática con un objeto de clase instanciado ( aunque un método estático puede ).
Así que creo que será soportado por un largo tiempo.
Si bien entiendo que $this
variable no está disponible cuando se llama un método en un contexto estático, para ayudar a desacoplar los componentes de mi aplicación de uno a otro, pensé que tendría sentido llamar métodos estáticos desde una instancia. Por ejemplo:
class MyExample{
private static $_data = array();
public static function setData($key, $value){
self::$_data[$key] = $value;
}
// other non-static methods, using self::$_data
}
// to decouple, another class or something has been passed an instance of MyExample
// rather than calling MyExample::setData() explicitly
// however, this data is now accessible by other instances
$example->setData(''some'', ''data'');
¿Hay planes para dejar de usar este tipo de funcionalidad, o tengo razón al esperar que el soporte continúe? Trabajo con error_reporting(-1)
para garantizar un entorno de desarrollo muy estricto, y aún no hay problemas ( PHP 5.3.6 ). Sin embargo, soy consciente de que no se admite lo contrario; es decir, los métodos de instancia se llaman estáticamente.