Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264

    Un consiglio dai programmatori professionisti

    Ciao a tutti

    programmo con php da 5 anni e ho da sempre usato il codice "immerso" nella grafica del sito. Al massimo uso file inclusi e funzioni varie, ma non sono ancora passato alle classi.

    Ora devo realizzare un portale turistico per un cliente e vorrei adottare le potenzialità di php5 (oob, funzioni ecc) e vorrei che il portale fosse realizzato a "regola d'arte".

    Cosa mi consigliate?
    Pensavo di usare Zend Framework (ma è incasinatissimo); oppure altra soluzione potrebbe essere Smarty...

    Che mi dite?

  2. #2
    Personalmente ho usato molto poco la programmazione ad oggetti e non mi sono mai trovato benissimo.
    PHP è un linguaggio che non è nato come OOP bensì lo è diventato col tempo.
    Quando si parla di framework ci sono sempre mille scelte e comunque ci sono sempre difetti in ognuna (sempre parlando per esperienza personale).
    Negli anni mi sono creato un mio framework (un semplice file php) con dentro tutte le funzioni che utilizzo solitamente (o quelle difficili da trovare) come ad esempio l'indirizzo della pagina del sito corrente senza il nome della pagina, il solo nome della pagina, ricavare l'ora dal timestamp e altre decine centinaia. Niente di complesso ma nell'insieme è venuto fuori un bel framework che, avendolo creato personalmente, è a prova di sbaglio.
    Ora non ti dico di metterti lì a scriverti un framework da solo ma prova a cercare script di funzioni comuni in giro. Qualcosa si trova.
    Poi ci sono centinaia di programmatori entusiasti della programmazione ad oggetti.
    Quindi, personalmente, buttati sulle funzioni e continua ad approfondire la programmazione sequenziale.

    p.s. di solito le programmazioni ad oggetti si usano per portali tipo myspace o mtv, dove migliaia di persone ogni ora ci girano e dove ogni cambiamento sarebbe complicato senza oop.

    Saluti
    Ce l'ho fatta! - ItalianPixel -

  3. #3
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Originariamente inviato da portapipe
    Personalmente ho usato molto poco la programmazione ad oggetti e non mi sono mai trovato benissimo.
    PHP è un linguaggio che non è nato come OOP bensì lo è diventato col tempo.
    Quando si parla di framework ci sono sempre mille scelte e comunque ci sono sempre difetti in ognuna (sempre parlando per esperienza personale).
    Negli anni mi sono creato un mio framework (un semplice file php) con dentro tutte le funzioni che utilizzo solitamente (o quelle difficili da trovare) come ad esempio l'indirizzo della pagina del sito corrente senza il nome della pagina, il solo nome della pagina, ricavare l'ora dal timestamp e altre decine centinaia. Niente di complesso ma nell'insieme è venuto fuori un bel framework che, avendolo creato personalmente, è a prova di sbaglio.
    Ora non ti dico di metterti lì a scriverti un framework da solo ma prova a cercare script di funzioni comuni in giro. Qualcosa si trova.
    Poi ci sono centinaia di programmatori entusiasti della programmazione ad oggetti.
    Quindi, personalmente, buttati sulle funzioni e continua ad approfondire la programmazione sequenziale.

    p.s. di solito le programmazioni ad oggetti si usano per portali tipo myspace o mtv, dove migliaia di persone ogni ora ci girano e dove ogni cambiamento sarebbe complicato senza oop.

    Saluti
    Ciao, grazie per la risposta.

    Il progetto che sto per cominciare sarà sviluppato da più persone e mi dicono che la programmazione a oggetti si presta bene a essere usata da team di programmatori

  4. #4
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Originariamente inviato da henry78
    Ciao, grazie per la risposta.

    Il progetto che sto per cominciare sarà sviluppato da più persone e mi dicono che la programmazione a oggetti si presta bene a essere usata da team di programmatori
    Guarda, per come la vedo io la programmazione ad oggetti è il passo successivo alla programmazione procedurale.

    Programmare ad oggetti ti facilita molto sia la creazione di un sito semplice che quello di un portale complesso.

  5. #5
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Originariamente inviato da Alberto
    Guarda, per come la vedo io la programmazione ad oggetti è il passo successivo alla programmazione procedurale.

    Programmare ad oggetti ti facilita molto sia la creazione di un sito semplice che quello di un portale complesso.
    Alberto, mi conviene partire con un framework? Appoggiarmi a Smarty?

    Devo realizzare un lavoro a "regola d'arte" e voglio fare il meglio!

  6. #6
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    La programmazione ad oggetti è una gran cosa, ma la devi saper usare altrimenti ti fai solo danni.

    Se devi dare al cliente un nuovo progeto velocemente telo sconsiglio di comentarti di botto con la programmazione OOP, magari inizia ad usarla con progettini e quando sei pronto passa alla programmazione ad oggetti.

    Il vantaggio è nella riutilizzabilità del codice.
    Il rischio è di scrivere classi con un'architetura procedurale.

    Riguardo alla divisione interfaccia/business/dati, anche con la programmazione procedurale E' DA FARE. Vedi Smarty o creati una soluzione personale.

  7. #7
    scusate se inizio il post cosi ... ma ... no, non vedere smarty ... anzi stai alla larga da lui e da tutti i suoi simili (ovvero da tutti quei template engine che implementano un proprio linguaggio)

    giusto ieri ho fatto un post sulla ml del grusp ... copia/incollo qui, mi secca riscrivere

    In generale sono contro i template engine che implementano un proprio
    linguaggio perché:
    - php è già un template engine, andare ad implementare un altro
    linguaggio comporta non solo un consumo maggiore di risorse (consumo
    che rischia di diventare eccessivo, un esempio tra tutti proprio
    smarty);
    - generalmente gli editor php visuali permettono ai grafici di
    implementare buona parte del template senza scrivere codice php e, ove
    necessario, penso che un grafico sarebbe "più felice" se deve
    impararsi qualcosa di php piuttosto che impararsi qualcosa di smarty;
    - il caching del template "compilato" (se cosi si può dire) può
    risultare problematico su quei serivizi di hosting che impongono una
    specifica cartella nella quale scrivere con php con il risultato che
    il software deve prevedere un'apposito parametro di configurazione per
    la cache del template engine (dato che molti software non permettono
    di variare questo parametro).

    Ci sono anche altri motivi, ma ritengo che questi stiano tra le prime
    posizioni

    Detto tutto questo, un "include/require" non può essere sostituito da
    nessun template engine: che non vuol dire che non si deve fare
    separazione tra "view" e "controller" ... anzi! Semplicemente che
    invece di usare un'altro linguaggio per costruire la view si usa php.
    Detto tutto questo, se vuoi guardare un framework dai un occhio a Zend Framework ... ovviamente non pensare di arrivare li e con uno schiocco di dita fare i miracoli perché farai solo pianti ... ma se ti ci metti, pian piano, tirerai fuori roba buona

    Personalmente ti consiglio di realizzare il progetto usando la OOP e evitando il più possibile di scrivere codice che segue le vie del procedurale (ovvero codice che fa uso di global ad esempio)
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  8. #8
    Riassumo un pò tutte le risposte per condividere il mio pensiero.

    Conviene farti un po' di esperienza sulla OOP su progetti più piccoli,
    sennò combini disastri peggio del copia e incolla funesto. =)
    (ho visto cose indicibili come l'uso del global dentro i metodi)
    Però è un passo che decisamente occorre fare. Impieghi un pò di più nello sviluppo, ma il codice è più riusabile e non ti spari quando dopo mesi dovrai rimetterci mano.

    I pacchetti Zend fanno bestemmiare tanto... e forse il gioco non vale nemmeno la candela.
    Si, hai un perfetto MVC ma a un prezzo che non ti immagini nemmeno... e secondo me non è nemmeno tanto "friendly" come meccanismo alla fine.

    I template engine comuni... beh ciò che dice daniele_dll è giusto, ma magari uno leggero leggero senza una sintassi stramba (non smarty appunto) ti può semplificare la vita...
    ha un prezzo certo sulle performance, ma è più usabile.

    PS: Esperienza personale:
    Io utilizzo una mia classe che ho costruito e perfezionato negli anni. Fa giusto lo stretto indispensabile per non dover scrivere echo "<tr><td>...."; nei cicli e contemporaneamente poter vedere lo schema nel browser senza errori (cosa che non potresti fare con pezzi di include o con altri template engine che usano una sintassi propria nell'html).

    Poi ognuno si crea un suo modo di agire. Magari il mio sistema farà sicuramente schifo a daniele_dll ma io mi trovo benissimo =)

  9. #9
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Originariamente inviato da daniele_dll
    scusate se inizio il post cosi ... ma ... no, non vedere smarty ... anzi stai alla larga da lui e da tutti i suoi simili (ovvero da tutti quei template engine che implementano un proprio linguaggio)

    giusto ieri ho fatto un post sulla ml del grusp ... copia/incollo qui, mi secca riscrivere
    Sono d'accordo in parte.
    Smarty o i template engine in genere è vero rallentano un pò, ma ti danno direttamente un sistema di caching e altre aggevolazioni. Se non li si usa bisogna crearseli.

  10. #10
    scusami ... ma è falso template engine come smarty ti rallentano un bel pò in quanto il tuo codice si deve tirar dentro (almeno) 300/400kb di codice ... se non usi funzioni particolari perché altrimenti possono arrivare fino a 800kb di codice facendo salire i tempi di esecuzione mostruosamente

    non è il template engine che ti da un sistema di caching in quanto il "caching" che intendono loro è che scrivono le pagine php generate dal loro linguaggio proprietario sul disco altrimenti dovrebbero farlo "ogni volta" senza considerare che se non lo facessero acceleratori come APC non potrebbero intervenire in alcun modo (perché verrebbero evalutati a runtime e fine li)

    E, ammesso che ti riferisci alla cache dell'output il discorso è ben diverso: non dovrebbero essere affatto integrati con il template engine in quanto l'unica cosa che possono fare e salvare l'intera pagina sul disco associandola ad alcuni dati (come la richiesta inviata dal browser) mentre, esternamente, la cache può essere gestita in modo più mirato creando delle sub-cache apposite per i contenuti con la consistente differenza che invece di avere la cache aggiornata ogni 5/10/15/nnn minuti la puoi avere ogni volta che vari i contenuti indicando comunque quali aree non dovrebbero essere messe nella cache parziale.
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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.