Originariamente inviato da Tobler
Si è centrato un argomento sul quale rifletto da diverse notti. Da un lato facendo come suggerito php "fa tutto", per evitare situazioni del tipo:
che un po' mi fanno sentire nonprofessionale, dall'altro però che fine fa la parte di design html e la manutenibilità? E il designer che dovrà applicare stili immagini etc dovrà impararsi php per forza?Codice PHP:
<h1><?php if(...) ... else ...?></h1>
Non sono domande retoriche, sto cercando veramente una risposta!
questo non è "utilizzare un template engine" questo è buttare del codice php dentro l'html costringendo non solo il designer a conoscere il php perché lo deve spostare ove serve ma in aggiunta le modifiche grafiche sono una vera e propria croce!Originariamente inviato da isAlreadyInUse
Scusa secondo te perche è sorta la necessita di avere linguaggi che permettessero di integrare codice html a codice del linguaggio di programmazione
embé? cosa c'entra il DOM con tutto ciò? lo inserisci a mano -.-Originariamente inviato da MiChiamo.Diego
E' comprensibile quello che dici, ma ormai il mondo girà molto velocemente e di conseguenza lo sviluppo di qualsiasi software deve essere rapido. Programmare ad oggetti rappresenta il nuovo modo per gestire tutte queste variabili con nuova complessità. La OOP permette di sviluppare un ottimo software, per dire professionale. Il concetto della OOP deve essere ben chiaro (altrimenti il discorso sfuma). Il DOM ci permette di ottenere un livello di astrazione in modo tale da non preoccuparci di cosa ci sia effettivamente alla base.
Esempio, guardate questo codice
Vi è un errore poco professionale, che rende l'applicazione quasi non gestibile perchè non si conosce realmente l'encoding da utilizzare. Utilizzando DOM questo non sarebbe mai capitato. (Crea software in poco tempo e di qualità).codice:<?xml version="1.0" encoding="urf-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
Non puoi decidere di UCCIDERE il webserver (lo sai vero che quell'estensione è abbastanza pesante e se la usi per una cosa del genere lo diventa ancora di più) perché ti stuffa o non vuoi controllare cosa scrivi ... perché ne più ne meno si tratta di questo
Senza considerare che l'esempio che hai fatto è poco sensato dato che l'encoding è possibile settarlo anche tramite header inviati al client (i meta tag sono spuntati dopo, come anche lo specificare la codifica nella testata)
La qualità del codice la ottieni:
- sfruttando una serie di automatizzazioni che ti permettono di testare l'affidabilità del codice, ad esempio PHPUnit
- utilizzando una serie di strumenti che ti permettano di controllare quello che realizzi, un esempio è la Web Developer Toolbar di firefox o l'omonima per Internet Explorer, poi c'è firebug, HTML Validator e cosi via
- la qualità l'ottieni utilizzando un repository del codice sorgente che ti permette di tenere traccia passo per passo di tutto quello che è successo sul codice e ti aiuta a mantenere le versioni, le roadmap, le release personalizzate e cosi via
- aumenti la qualità se sviluppi VERAMENTE OOP utilizzando i Design Pattern che servono (per esempio ridurre il più possibile l'uso di metodi/classi statiche, ridurre l'uso di variabili globali, invece di istanziare una classe base e poi settare i parametri di la creare una classe che estenda quella base e che riduca la duplicazione del codice [in questo modo metti tutto li dentro altrimenti lo devi mettere sempre fuori]
- aumenti la qualità se utilizzi Template Engine, MVC, ORM, DBAL e cosi via tanta altra roba
queste cose sono quelle che REALMENTE aumentano la qualità, il codice tuo diciamo che potrebbe rientrare in una sotto categoria dei template engine che, però, comportano al designer di IMPARARE non solo a programmare in php ma obbligano il designer a imparare l'html per bene perché altrimenti, dovendo scrivere codice php usando dom per descrivere le pagine, non ci capiscono più niente tra nodi padre, nodi figlio, elementi e cosi via
ah beh, è estremamente semplice ... nel file del template engine (io ne ho scritto uno mio che prende dei file HTML con dentro dei pseudo commenti e li separa in un alberò in base all'innestamento dei vari blocchi di codice html identificati dai commenti) che contiene la parte iniziale dell'html ci inserisci l'apertura per l'xhtml 5 ... nulla di più semplice ... cosi come il mio anche gli altri.Originariamente inviato da MiChiamo.Diego
Esempio brutale
Un cliente mi incarica di sviluppare un applicazione web in PHP utilizzando però XHTML 5.0, e mettiamo caso che non esiste nessun "Template Engine" per XHTML 5.0. Sorge dunque un problema. Come sviluppare professionalmente la mia applicazione non conoscendo a fondo XHTML 5.0 e non utilizzando nessun "Template Engine"? E inoltre non esistono elementi div, b, span ma bensi altri elementi! A questo quesito risponde affermativamente il DOM e posso procedere nel creare le classi necessarie (ovviamente dopo aver analizzato in dettaglio il mio problema)!
E se lo vuoi automatizzare inserisci tra i vari tag della pagina html delle variabili che vengono sostituite con i contenuti in modo da lasciare sempre fisso che so la codifica UTF8 ma cambiare il linguaggio descrittivo a piacimento