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

    php separazione logica gestione errori

    Salve ragazzi,
    E' da un pò di tempo che non utilizzo più template engigne per la separazione della logica e la parte rappresentativa dell'applicazione. Utilizzo il solo php in pratica preparandomi prima tutti i dati necessari con uno script e dopo facendo l'include di un template.php che contiene html con porzioni di codice php che servono a rendere rpesentabili i dati estrapolati dalla parte logica.

    Il mio problema è che non riesco a gestire bene gli eventuali errori. Quando rilevo un errore magari controllando un campo di un form tramite un if sono costretto a settare una variabile $errore fare l'include del template d mandare in die lo script.

    Potete ben immaginare che se sono necessari molti controlli questa prassi diventa abituale e di conseguenza il codice e pieno zeppo di porzioni quasi identiche... il che non è molto elegante.

    Non c'è un modo per gestire tali errori in maniera più consona? naturalmente non voglio esempi ma solamente una logica da poter implementare e sperimentare

    Grazie a tutti
    Il sapere umano appartiene al mondo.

  2. #2
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Ma questi controlli, dove li fai? Nella logica o nella parte "visuale"? Una cosa che mi viene in mente è prevedere una pagina errore.php, nella logica controllare la correttezza di tutti i dati e in caso di errore, reindirizzare a questa pagina; tutte le info di errore da mostrarle metterle in sessione, così da richiamare nella pagina errore.php la sessione, estrarre i dati di interesse e mostrarli a video...non so se sono stato chiaro


  3. #3
    naturalmente li faccio nella parte logica. Ho capito il tuo approccio e non penso mi risolverebbe molto le cose poiché invece di fare l'include ogni volta della pagina normale in invece di stampare il contenuto stampo l'errore faccio l'inlcude di questa pagina errore.php. E' però utile se nei vari template non si vuole controllare se è settata la variabile $errore e resterebbero cosi i soli echo e cicli utili per rappresentare i dati.
    Non esiste un qualche approccio ? utilizzando le eccezioni si potrebbe migliorare qualcosa?
    Il sapere umano appartiene al mondo.

  4. #4
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Non intendevo un include della pagina errore.php, bensì un redirect dalla logica, del tipo

    Codice PHP:
    if(qualche_errore) {
       
    $_SESSION['errore'] = 'Tipo errore';
       
    redirect('errore.php');

    Molto alla buona...ciò non toglie che quest'approccio scala bene se vuoi gestire le eccezioni

    Codice PHP:
    try {
       
    // Prova a fare qualcosa
    } catch (MiaEccezione $e) {
       
    // Vedi codice sopra
       // Oppure
       
    $e->showError();

    E dentro showError() gestisci la sessione e reindirizzi alla pagina di errore...


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.