Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Domanda sui namespace

Visualizzazione discussione

  1. #1
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626

    Domanda sui namespace

    Credevo di aver capito come funizionassero i namespace, ma qualcosa ancora mi sfugge.
    Ho un semplice autoloader:

    Codice PHP:
    spl_autoload_register(function ($class){
      include 
    dirname(__DIR__).DS.str_replace('\\'DS$class).'.php';
    }); 
    ed una struttura delle directory, ad esempio:
    libs
    |--View.php
    |--helpers
    |----FormHelper.php

    Ora dentro FormHelper.php
    Codice PHP:
    namespace libs\helpers;

    class 
    FormHelper{...} 
    e dentro view.php
    Codice PHP:
    use libs\helpers\FormHelper;
    namespace 
    libs;

    class 
    View.php{

       ...
       
    $helper = new FormHelper();
       ...

    Ma così la classe FormHelper non viene trovata e se nel autoloader stampo il path che va ad includere noto che il namespace di FormHelper è quello corrente:
    $class = libs\FormHelper.
    Se invece nella view faccio $helper = new helpers\FormHelper(); allora funziona.

    Mi sapete dire dov'è che sbaglio? Mica devo comunque includere il namespace nella new ? Questa cosa mi capita solo se la classe è in un sotto-namespace/directory

    Grazie
    Ultima modifica di boots; 22-07-2022 a 14:48

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.