Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    residenza
    Dublin
    Messaggi
    34

    Laravel, autoload e namespace

    Salve,
    ho iniziato a vedermi Laravel e facendo alcune prove per capire l'autoloader assieme ai namespace, mi sono imbattuto in comportamenti inaspettati.

    Faccio qualche esempio:
    1) installazione di base, aggiungo un controller senza namespace e il tutto funziona... perfetto

    2) poi creo un controller con namespace e il sistema NON me lo indirizza.
    Eseguo composer dump-autoload e il tutto funziona magicamente

    3) Qui incomincia il primo dubbio.
    Creo un altro controller con namespace, questa volta lo posiziono in una sub-directory con lo stesso nome del namespace ma NON ESEGUO composer dump-autoload.
    Immagino che il tutto non dovrebbe funzionare, e invece stranamente il tutto funziona

    4) Per concludere faccio una botta da matto
    Apro composer.json e sotto autoload:classmap rimuovo la direttiva "app/controller" ed eseguo composer dump-autoload per aggiornare i vari file di autoload.
    Adesso non dovrebbe funzionare niente, dato che la directory dei controller é stata cancellata dal suo "dizionario".
    E invece il tutto va come se niente fosse

    Adesso mi chiedo, come mai ai punti 3 e 4 il tutto funziona, quando invece (ignorantemente) mi aspetto una valanga di error?

    EDIT:
    Solo per essere precisi, i controller si trovano in app/controller e questi sono correttamente indirizzati usando routes.php
    Chi non gode a tavola non gode neanche a letto

  2. #2
    vedi firma
    Questa volta, più che un voto.. è favoreggiamento.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    residenza
    Dublin
    Messaggi
    34
    Umh... in composer.json il caricamento delle classi é impostato tramite classmap invece che psr-0.
    Possibile che anche senza la definizione di psr-0 l'autoload sappia dove andare a cercare le classi? (soprattutto al punto 4 dove ho addirittura cancellato la direttiva?)
    Chi non gode a tavola non gode neanche a letto

  4. #4
    Quote Originariamente inviata da two_socks Visualizza il messaggio
    Umh... in composer.json il caricamento delle classi é impostato tramite classmap invece che psr-0.
    Possibile che anche senza la definizione di psr-0 l'autoload sappia dove andare a cercare le classi? (soprattutto al punto 4 dove ho addirittura cancellato la direttiva?)
    la classmap viene caricata da javascript o da php?

    è possibile sia attinente allo standard anche se la classe ha un nome diverso
    Questa volta, più che un voto.. è favoreggiamento.

  5. #5
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Da quello che leggo a me sembra più un problema di namespaces che di composer. Composer non utilizza solo classmap.

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.