Necesito una idea para crear clases anónimas en PHP. No sé cómo puedo trabajar.Construcción de clase anónima
Ver mis limitaciones:
- En PHP no se puede hacer clase anónima, como función anónima (como
class {}
); - En PHP no tiene ámbito de clase (excepto en los espacios de nombres, pero tiene el mismo problema a continuación);
- En PHP no puede usar variables para especificar el nombre de clase (como
class $name {}
); No tengo acceso para instalarrunkit
PECL.
Lo que necesito, y por qué:
Bueno, necesito crear una función llamada es decir create_class()
que recibe un nombre y una clave de clase anónima . Me será útil porque quiero usar símbolos de clases de nombres diferentes que PHP no puede aceptar. Por ejemplo:
<?php
create_class('it.is.an.example', function() {
return class { ... }
});
$obj = create_object('it.is.an.example');
?>
Entonces, necesito una idea que acepte este uso. Lo necesito porque en mi marco tengo esta ruta: /modules/site/_login/models/path/to/model.php
. Entonces, el model.php
necesita declarar una nueva clase llamada site.login/path.to.model
.
En llamada create_object()
si el caché interna tiene una definición $class
(como it.is.an.example
simplemente devuelve el nuevo objeto de la clase. Si no es así, la necesidad de carga. Así que voy a utilizar el contenido $class
para buscar rápidamente lo que es el archivo de clase.
La falta de clases anónimas de PHP es extremadamente restrictiva. – MirroredFate
Le recomendamos que consulte esta pregunta: http://stackoverflow.com/q/6384431/3933332 – Rizier123
¿Por qué tiene que utilizar nombres de clase no válidos? ¿Por qué no puedes simplemente sustituir estos "." Por, digamos, "_"? –