Pagina 1 di 10 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 99
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    174

    Stili di programmazione

    Ciao a tutti! Mi sto imbattendo nella realizzazione di un'applicazione web in php, e sinceramente è la prima volta che uso questo linguaggio e sto trovando alcune difficoltà per la realizzazione delle pagine. Tempo fa avevo realizzato un'applicazione che usava ajax per mezzo del quale riuscivo senza non troppi sforzi a cambiare il dom html della pagina snellendo molto in termini di html le pagine che componevano la mia interfaccia, ma ciò ha tutte le sue conseguenze come ad esempio il problema di memorizzare la cronologia di navigazione ecc, ecc, con php invece non riesco, per inesperienza visto che lo uso per la prima volta, a trovare uno stile di programmazione che mi permetta di avere codice pulito e nello stesso tempo funzionale secondo le mie esigenze.
    Sapreste darmi qualche consiglio in merito, ve ne sarei immensamente grato. Vi ringrazio anticipatamente.

  2. #2
    Studiati un framework. Per iniziare consiglio caldamente Codeigniter che ha un'ottima documentazione.

    Il concetto fondamentale comunque e' tenere ben separati il codice PHP dalla visualizzazione, e con un framework MVC questa cosa e' praticamente obbligatoria.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    174
    Grazie infinite per la risposta! Penso sia proprio ciò che mi serviva! Ancora grazie

  4. #4
    scusa l'intromissione ma è come dire ad un falegname di costruire una macchina.. e se non sai come si fa, guarda una ferrari.. cosi capisci come sono attaccati i tubi..

    Non mi sembra una buona idea.. direi che prima di tutto impara a padroneggiare il linguaggio, poi studiati i principi di OOP e assimilali.. e forse tra 2/3 anni potrai usare un sistema MVC che tra l'altro non mi piace proprio per niente a dire il vero.. ma vabbè sono considerazioni personali queste..

    Per quanto riguarda la programmazione ad oggetti trovi di tutto in rete.. parti cercando questi termini: classe, oggetto, associazione, inheritance, aggregazione e composizione, patterns

    l
    Questa volta, più che un voto.. è favoreggiamento.

  5. #5
    Hermiod ha chiesto consigli sullo stile di programmazione, non su come imparare le basi del linguaggio, quelle do per scontato che uno se le studi come prima cosa.

    Ma visto che qui il 99% dei messaggi sfoggiano orribili minestroni illeggibili di codice PHP misto ad HTML, volevo suggerire quello che secondo me e' il modo migliore per organizzare un'applicazione.

    Per curiosita', cos'ha secondo te il pattern MVC che non va nello sviluppo di una web app?

  6. #6
    ciao k.b
    io per separare il codice dal html non utilizzo questi framework (nn ci ho mai provato ma mi spaventano).
    però ti spiego come faccio per rendere il codice mediamente pulito...

    ho un file che chiamo template_function.php al cui interno metto funzioni di questo tipo (posto solo quelle riguardanti head...)
    Codice PHP:
    <?php
    function array_head()
        {
        return array(
    '[TITLE]''[ADD_SCRIPT]''[ADD_STYLE]'); // c'è anche altro...
        
    }

    function 
    template_general($array_temp$array_replace$components)
        {
        
    $html file_get_contents($components) or die('ops');
        
    $html str_replace($array_temp$array_replace$html);
        return 
    $html;
        }

    function 
    head($array)
        {
        
    $cerca array_head();
        
    $sostituisci $array;
        
    $base 'head.php';
        return 
    template_general($cerca$sostituisci$base);
        }
    ?>
    poi ho un file che chiamo head.php con questo codice:
    codice:
    <html>
    <head>
    <title>[TITLE]</title>
    <link rel="stylesheet" href="css/structure.css" />
    [ADD_SCRIPT]
    [ADD_STYLE]
    </head>
    Nella pagina queb in cui voglio inserire head della pagina farò
    Codice PHP:
    <?php
    require_once('template_function.php');
    $dati_head = array(
        
    'Mia pagina web',
        
    '<script>...</stript>',
        
    '<link rel="stylesheet" href="css/style2.css" />');

    echo 
    head($dati_head);
    ?>
    Mi dici un tuo parere?

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    174
    Grazie k.b. per l'intervento, cmq conosco il linguaggio e appunto come dal mio primo post chiedevo uno stile di programmazione e non le regole del linguaggio! Il pattern MVC è secondo me appropriato perchè al di là che l'applicazione sia web o meno e quello più all'avanguardia quando si hanno da gestire contemporaneamente input, dati e visualizzazioni! Poi appunto l'uso dei pattern è una scelta puramente personale e ognuno può anche farsi un proprio modello se ci si trova bene

  8. #8
    @oly1982: Personalmente non sono un fan dei template engine "alternativi" giacche' PHP e' gia' di suo un template engine, quindi perche' inventarsi una nuova sintassi?

    Il tuo caso e' molto semplificato, metti che ti serva un ciclo tipo foreach nel template, come fai? E comunque nel terzo pezzo di codice hai messo dell'HTML dentro il PHP.

    Comunque fidati, i framework non sono affatto difficili da imparare, soprattutto se hanno una buona documentazione come codigniter che suggerivo sopra. I vantaggi che hai in comodita' per tutte le cose ripetitive che non devi piu' fare, ti ripagano molto velocemente del tempo speso per prendere familiarita'.

  9. #9
    Originariamente inviato da k.b
    Il tuo caso e' molto semplificato, metti che ti serva un ciclo tipo foreach nel template, come fai? E comunque nel terzo pezzo di codice hai messo dell'HTML dentro il PHP.
    Non capisco il problema.. ti lascio uno spezzone della mia classe di template con la quale riesco facilmente a sostituire anche valori incapsulati tra di loro senza tanti problemi tipo:

    codice:
    <body>{body {sezDx}{sezSx} {footer {link}}}</body>
    codice:
    	// process template file
    	private function __processTemplate( $tags ) {
    		foreach ( $tags AS $tag=>$data ) {
    			// if data is array, traverse recursive array of tags
    			if ( is_array( $data ) ) {
    				$this->output = preg_replace( "/$tag/", '', $this->output );
    				$this->__processTemplate( $data );
    Non amo il pattern MVC perchè è complesso per la realizzazione di piccoli progetti, e comunque non dà un livello di astrazione eccelso.. Diciamo che è un modo di sfruttare php ma non è ne il migliore ne il più conveniente.. tra l'altro le view sfruttano un template.engine tanto quanto..

    preferisco usare php solamente per la logica del sistema e usare gli altri linguaggi appositi per il resto.. xml o mysql per i contenuti, xsl per la struttura, js per il comportamento e gli eventi, php per la logica e css per l'aspetto.. astrazione..
    Questa volta, più che un voto.. è favoreggiamento.

  10. #10
    Non ho capito cosa c'entra il tuo esempio di sostituzione di tag annidati con la necessita' di visualizzare una serie di dati con un foreach o qualunque altro tipo di ciclo.

    Comunque non e' vero che i framework usano un template engine, non tutti almeno. Con codeigniter le view sono semplici file PHP in cui userai HTML per il markup, CSS per lo stile, JS per le manipolazioni lato client, costrutti PHP per sostituzione di variabili e strutture di controllo. O se preferisci XML+XSL o quello che ti pare. Le view sono totalmente libere.

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.