Visualizzazione dei risultati da 1 a 5 su 5

Discussione: OOP vs Procedurale

  1. #1

    OOP vs Procedurale

    Buon giorno.
    Fin'ora utilizzavo PHP in modo procedurale.
    Mi spiego.
    Ogni pagina del sito, aveva la sua bella funzione che prelevava i dati da DB, li visualizzavo e se avevo un errore, esempio mancava una virgola, due punti o quant'altro, avevo il problema soltanto in quella pagina, quindi il sito era sempre visibile.

    Essendo passato da poco all'utilizzo del OOP, quindi classi, funzioni e quant'altro, presenti nella pagina function.class.php, se in una delle funzioni manca una virgola, ecc ecc, non mi si vede più il sito.

    Di seguito un esempio di una mia pagina attuale:
    Codice PHP:
    <?php 
    define
    ('SITO_ROOT_DIR'$_SERVER["DOCUMENT_ROOT"]);
    include 
    SITO_ROOT_DIR .'/inc/define.php';
    get_ob_gzhandler();
    get_header();
    ?>
    <body id="body">    
    <div id="container" class="container">        
    <div id="wrap">            
    <?php get_menu_header(); ?>                        
    <?php $sito->get_image_header();?>                       
    <?php get_menu_navbar();?>
    <div id="test">                
    <div class="row">                    
    <div class="col-md-3">                    
    <?php get_menu_squadra();?>                        
    <?php get_accesso_rapido();?>                        
    <?php get_amm_squadra();?>                    
    </div>
    <div class="col-md-6">                        
    <ol id="breadcrumb" class="breadcrumb">                            
    <?php echo breadcrumbs($bc);?>                        
    </ol>                        
    <article>                            
    <?php                 
    #visualizzo 3 argomenti contemporaneamente                
    $nT = array(20,21,22);                
    $sito->get_arg_generali($nT);                
    lastEditPage();                 
    ?>                        
    </article>                    
    </div>
    <div class="col-md-3">                        
    <?php get_site_search();?>
    <?php $sito
    ->get_box_news();?>                                               
    <?php get_box_con_app();?>                    
    </div>                
    </div>                
    <?php get_footer();?>            
    </div>        
    </div>        
    </div>
    Dentro il file define.php ho tutto quello che mi serve per la costruzione del sito, connessioni, css ecc.
    Codice PHP:
    <?php 
    # inclusione del file di configurazione
    include SITO_ROOT_DIR .'/inc/config.class.php';
    include 
    SITO_ROOT_DIR .'/inc/functions.php';
    include 
    SITO_ROOT_DIR .'/inc/functions.class.php';//tutte le funzioni che si interfacciano con il DB
    # istanza della classe
    $sito = new sito();
    include 
    SITO_ROOT_DIR .'/inc/template.functions.php';
    ?>
    All'interno di ogni pagina ci sono varie funzioni, che servono per la costruzione di varie aree del sito, tra le quali il contenuto vero e proprio
    Codice PHP:
    $sito->get_arg_generali($nT); 
    Ammettendo il caso, che nella funzione get_arg_generali() manchi una (,) in un array, la chiusura con il ( oppure ci sia un qualsiasi altro errore, il sito non si vede più.
    Mi fate capire, cortesemente come ovviare a questo problema?

    Grazie.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Premessa, OOP è un paradigma di programmazione, avere una classe in un file non vuol dire programmazione OOP, hai solo messo tutte le funzioni dentro una classe.
    Avresti ottenuto la stessa cosa mettendo tutte le funzioni dentro un file semplice PHP ed includendo questo.

    Quote Originariamente inviata da ANTAGONIA Visualizza il messaggio
    [...]
    Mi fate capire, cortesemente come ovviare a questo problema?
    Si fanno test e debug prima di pubblicare il sito.

  3. #3
    Test fatto ed ho riscontrato questa problematica, il sito non è pubblicato.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quindi il problema qual è? Un array senza la virgola?
    Da dove arriva l'array? Chi lo costruisce? Come?

    Se è un input di un utente ci puoi fare poco, ma se lo crei tu nel codice, assicurati che il codice che genera l'array sia corretto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Quello che hai fatto tu non � programmare ad oggetti, ma come gi� detto � usare degli oggetti in un ambiente procedurale.
    Secondo me questo ti rende anche pi� difficile il debug.

    Quindi se ancora non riesci a programmare bene ad oggetti forse ti converrebbe continuare ad usare un paradigma procedurale, o in alternativa leggerti qualcosa di ben fatto sul paradigma oop ed iniziare a scrivere codice che � realmente ad oggetti.

    Rimanere in mezzo ti confonde le idee e rende pi� difficile il tuo lavoro.

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.