es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo obtener el espacio de nombres donde se ejecuta la clase?

Pido disculpas de antemano por mi mal inglés. Espero que puedas entender leyendo los códigos.

¿Cómo puedo obtener el espacio de nombres donde se ejecuta la clase?
pero no quiero pasar NAMESPACE

Route.php

namespace sys;

class Route{
    static public function getNamespaceOfRunFile(){
        echo namespace;
    }
}

app/example.php

namespace app\example;
use sys\Route;

Route::getNamespaceOfRunFile(); //echo "app\example"

Tengo que obtener “app\example” dentro de la clase Ruta.

Gracias..

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para obtener el espacio de nombres donde se está ejecutando la Clase sin pasar NAMESPACE como parámetro, puede utilizar la constante mágica NAMESPACE dentro de la clase Route. Esto recuperará automáticamente el espacio de nombres de la clase actual en tiempo de ejecución.

    Aquí está la clase Route actualizada:

    namespace sys;
    
    class Route{
        static public function getNamespaceOfRunFile(){
            echo __NAMESPACE__;
        }
    }
    

    Usar esta clase en su archivo app/example.php ahora mostrará “app\example”:

    namespace app\example;
    use sys\Route;
    
    Route::getNamespaceOfRunFile(); //echo "app\example"
    

Comments are closed.