Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Istanziare una classe: Namespace e interpolazione

    Buonasera e buon 2015 a tutti,
    ho la seguente situazione, sicuramente banale per molti di voi ma non riesco a venirne fuori

    dovrei trasformare questo:

    Codice PHP:
    $this->app = new AsMyNamespace\index\index();   
    $this->app->index(); 

    in questo:

    Codice PHP:

    // questa riga non funziona nemmeno usando le { }
    //  $this->app = new AsMyNamespace\$this->controller\$this->controller();                  
            
    // questa riga funziona 
    //  $this->app->{$this->action}(); 

    Grazie in anticipo.
    Antonio
    La ricompensa per una cosa ben fatta è averla fatta. (Emerson)

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    codice:
    $class = 'AsMyNamespace\\'.$this->controller.'\\'.$this->controller;
    $this->app = new $class;

  3. #3
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    codice:
    $class = 'AsMyNamespace\\'.$this->controller.'\\'.$this->controller;
    $this->app = new $class;
    Grazie per la celerissima risposta.

    Ho già provato così e non và e, purtroppo AsMyNamespace non viene interpretato come ALIAS.
    La ricompensa per una cosa ben fatta è averla fatta. (Emerson)

  4. #4
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    In $class devi mettere FQCN della classe. Mi pare anche che sia ReflectionClass che class_exists (e simili) lo richiedano richiedano.

  5. #5
    Ti ringrazio ancora... ho cercato in rete... ma niente ....

    potresti buttare giù un piccolo esempio di come dovrebbe venire:

    Codice PHP:
    $this->app = new asMyNamespace\index\index($this->var1$this->var2); 
    La ricompensa per una cosa ben fatta è averla fatta. (Emerson)

  6. #6
    ho risolto tramite la prima soluzione penalizzando l'ALIAS del namespace indicandolo per intero nella parte dove viene creata l'istanza della classe:

    Codice PHP:

    $class 
    'namespacePerIntero\\'.$var1.'\\'.$var2

    Grazie.
    La ricompensa per una cosa ben fatta è averla fatta. (Emerson)

  7. #7
    Ho risolto tramite la prima soluzione penalizzando l'ALIAS del namespace indicandolo per esteso nella parte dove viene creata l'istanza della classe:

    Codice PHP:

    $classname 
    'namespacePerEsteso\\'.$var1.'\\'.$var2

    Grazie.
    La ricompensa per una cosa ben fatta è averla fatta. (Emerson)

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.