Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/05/2008, 10:10
Volrath
 
Fecha de Ingreso: septiembre-2003
Ubicación: Pirexia
Mensajes: 150
Antigüedad: 20 años, 8 meses
Puntos: 1
Metodo estatico que sepa el nombre de la clase que lo llama

Hola. No soy un usuario comun de PHP, tengo mucho tiempo sin trabajar en él (desde los inicios de php4), y tengo algunas dudas con el manejo de OOP en PHP5.

Estoy haciendo algo de esta forma:
Tengo una clase Basic de la que heredan muchas clases las cuales no se su nombre a priori. Quiero que esas clases tengan un metodo estatico en comun y que cuando esté en ese metodo, pueda saber que clase lo llamo. es algo asi:

Código:
<?php

class Basic {
  ...
  public static unMetodo() {
    echo "Fui llamado desde la clase " . self . "\n";
  }
}


class Clase1 extends Basic { ... }
class Clase2 extends Basic { ... }
...
class ClaseN extends Basic { ... }

Clasei::unMetodo() // Aqui deberia imprimir: "Fui llamado desde la clase Clasei"
sin embargo usando unicamente la palabra self no lo logro, ni tampoco get_class(self).

Intente otras alternativas, como por ejemplo:

Código:
class Basic {
  public static $class_name;
  ...
  function __constructor() {
    $this->class_name = get_class(this);
  }
  ...
  public static unMetodo() { echo "Fui llamado desde la clase " . self::$class_name ; }
}
Se que es posible que haya una forma mas facil de realizarlo, pero repito, no estoy muy familiarizado con PHP5 jeje.
Alguien tiene alguna idea?
__________________
In a world without walls, who needs Windows?