Visualizzazione dei risultati da 1 a 10 su 10

Discussione: include

  1. #1

    include

    Salve a tutti, sto creando un'applicazione con molte classi e file.
    Mi sapete dire come quando usare i percorsi relativi e assoluti perche spesso, anche includendo un file, mi genera un'eccezione tipo:

    codice:
    Call to undefined method DataSource::getConnesione()

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,447
    Di default PHP è sempre impostato per non permettere percorsi assoluti negli include o include_once ( non puoi usare include('http://...') ), quindi dovrai per forza usare i percorsi relativi a meno di impostazioni particolari del server.

  3. #3
    Ok, ma esistono delle regole per evitare eccezioni riguardanti l'include?

  4. #4
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Di default PHP è sempre impostato per non permettere percorsi assoluti  negli include o include_once ( non puoi usare include('http://...') ),
    Meglio non fare confusione, o il buon Trommo potrebbe perdersi. Quello che dici tu è per l'utilizzo del wrapper http. In tutti questi anni ancora non ho visto nessuno pazzo abbastanza da farne utilizzo.
    Per percorsi assoluti si intende il percorso che inizia con "/" del tipo "/var/www/public_html/miofile.php".
    Meglio usare sempre percorsi completi per includere file. Lascia spazio a pochi fraintendimenti. Utilizza __DIR__per raggiungere lo scopo. I percorsi relativi invece sono quelli che iniziano con "./", che indica "questa directory". Il loro utilizzo è più "ambiguo", se mi lasciate passare il termine, meglio evitarli. Se il nome del file che passi al tuo include non rientra in questi due casi, come ad esempio "include 'miofile.php';" allora php cercherà il file nelle cartelle specificate nel parametro "include_path" che puoi configurare nel php.ini. Una porcata, da evitare.

    Mi sapete dire come quando usare i percorsi relativi e assoluti perche
    spesso, anche includendo un file, mi genera un'eccezione tipo
    Rispondo alla domanda con un'altra domanda: perché non puoi utilizzare un autoloader per caricare le tue classi? Conosci lo standard PSR-0/4? http://www.php-fig.org/psr/psr-0/it/
    Ultima modifica di .Kurt; 01-01-2015 a 23:15

  5. #5
    Ho fatto su internet ricerche relative all'autoload ma per richiamare la funzione 'autoload' come devo fare?

  6. #6
    Ho capito come funziona, ma come richiamo la funzione?

  7. #7
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    ma per richiamare la funzione 'autoload' come devo fare?
    Hai letto http://php.net/manual/en/language.oop5.autoload.php? E' scritto nelle prime righe,
    __autoload() function which is automatically called in case you are trying to use a class/interface which hasn't been defined yet. By calling this function the scripting engine is given a last chance to load the class before PHP fails with an error.

  8. #8
    Grazie mille, mi sei stato davvero d'aiuto ma ho un ultimo dubbio:
    mi conviene inserire la funzione autoload in ogni script o no?

  9. #9
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Per ogni tua richiesta devi definire l'autoload, prima di iniziare a richiamare qualsiasi classe.

  10. #10
    farò così ahah grazie mille

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 © 2024 vBulletin Solutions, Inc. All rights reserved.