Visualizzazione dei risultati da 1 a 4 su 4

Discussione: namespace e percorsi

  1. #1
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606

    namespace e percorsi

    Buongiorno.

    torno a scrivere dopo tanto tempo perché ho un problema coi namespace PHP.

    Mi spiego: ho un sito così strutturato
    ROOT

    ROOT/LIBS/CLASSES/AL
    ROOT/LIBS/CLASSES/MG
    nella cartella ---/AL ci sono alcune classi relative al sito, mentre nella cartella ---/MG sono classi generiche che utilizzo in tutti i miei siti.
    Ora per utilizzare le classi in file che si trova in ROOT le dichiaro nel modo usuale:
    Codice PHP:
    use AL\Connetti;
    use 
    MG\Verifiche;

    $pdo = new Connetti();  //  <--- FUNZIONA

    $nome Verifiche::controllaNome(); // <--- non trova il percorso 
    Ma se invece non inserisco il seconso use con la dichiarazione di namespace ma metto il namespace direttamente nella chiamata funziona.
    Così:
    Codice PHP:
    use AL\Connetti;

    $pdo = new Connetti();  //  <--- FUNZIONA

    $nome MG\Verifiche::controllaNome(); // <--- funziona 
    Non riesco a comprendere il perchè di tale comportamento, qualcuno sa spiegarmelo?
    Grazie :-)

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Quote Originariamente inviata da filippo.toso Visualizza il messaggio
    Come gestisci l'autloload delle class?
    normalmente con le spl ma non c'entra nulla, infatti la Connetti la trova perfettamente, no il motivo è un altro e l'ho capito, ora scrivo il post in cui dico cosa è successo.

  4. #4
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Risolto a metà!
    Mi spiego.

    Nel file passo la chiamata alla funzione di verifica tramite una callback, così:
    Codice PHP:
    array_walk_recursive($_GET'Verifiche::trimming'); 
    ora la clausola USE a quanto pare non vede dentro le stringhe, neppure se richiamano una callback.

    infatti se scrivo (come ho poi fatto) array_walk_recursive($_GET, 'MG\Verifiche::trimming'); funziona benissimo, il che mi dice che è tutto a posto.

    Ma la clausola USE non va in questo modo, ma funziona!
    Infatti se utilizzo un metodo della classe Verifiche nel modo tradizionale non ha problemi a trovarlo.
    Codice PHP:
    use MG\Verifiche;

    $nome Verifiche::controllaNome($nome); 
    va che è una meraviglia.

    Quindi il problema è che non viene letta la stringa di passaggio della callback, mi chedo se c'è un'altra possibilità.

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.