Che cos’è il PhP?
Php, acronimo di HyperText Processor, è un linguaggio server side il quale permette di sviluppare sia in modo procedurale che ad oggetti, con PhP 5 lo sviluppo ad oggetti è ormai solido.L’ultima versione di PhP è la 8.
Permette di creare pagine web dinamiche e di interfacciarsi con innumerevoli data base: MySQL, PostgreSQL, MariaDB, Oracle, Firebird, IBM DB2, Microsoft SQL Server ma anche MongoDB ed altri.
Non voglio soffermarmi in questo articolo sulle potenzialità del PhP ma farò solamente una considerazione, rispetto a linguaggi come C# o Java, PhP non necessità della dichiarazione del tipo di dato, per intenderci, per i più profani, quando scriverò una funzione in C# dovrò dichiarare il tipo di dato esempio:
function somma(int a, int b){}
Php No, non ha bisogno di questo.Php nasce come linguaggio web e server side con interfacciamento ad un Database, adesso se noi facciamo un programma .exe o .jar siamo quasi sicuri che il programma non venga toccato o meglio ci saranno delle versioni successive ma in generale una volta che il programma è pubblicato non necessita di essere cambiato tutti i giorni, immaginiamoci invece un software di gestione dati lato Web/DB con direttive, per l’azienda, che cambiano tutti i giorni.
Questo necessita una continua gestione del software e la potenzialità nel NON avere l’obbligo di dover dichiarare il tipo dato permette allo sviluppatore di interagire e aggiornare il software senza bisogno di rivedere tutta la funzionalità, per intenderci se un dato passa di Int a Varchar, in linguaggi come C#, ci sarà necessità di convertire tutte le variabili dichiarate Int(convertToInt), questo per me non ha senso, perchè un linguaggio di programmazione deve AUTOMATICAMENTE analizzare il tipo dato e se poi riesce a parsarlo e gestirlo ben venga altrimenti non darà il risultato che ci aspettiamo.
Ma questa dinamicità, permette di non dover riscrivere funzionalità intere e SOPRATTUTTO PERMETTE ALLA DITTA DI RISPARMIARE TEMPO E DENARO…Perchè se cambiano le direttive di alcune funzionalità, con C# la funzionalità deve essere riscritta ma con PhP no, ma può essere adattata alle nuove esigenze.Questa è la dinamicità del PhP.Ma sembra che molti non vogliano capirlo.
Altra funzionalità in PhP è l’utilizzo di variabili globali e superglobali cosa che non è presente in Java.
Ovviamente non voglio disquisire su cosa sia meglio, se C#, anche perchè ho una qualifica in C# quindi lungi da me dal parlarne male, o Java, faccio solamente una riflessione su l’ultilità e la dinamicità del linguaggio di programmazione.
Ad oggi sviluppo continuamente in PhP per lavoro, mentre l’ MvcWebLog è un progetto personale/palestra dove sono incluse molte funzionalità e un interfacciamento con un DB Sql, c’è un’area di login ma è un progetto personale/palestra e non è ad uso commerciale.
Le tecnologie che sono all’interno del WebLog sono :
- Bootstrap
- Jquery
- w2ui
- Ovviamente Javascript
- PhP
- BootstrapTable
- Ajax
- JqxWidget
- Librerie in Php come PHPExcel
- FullCalendar
- JqueryValidation
Nell’MvcWebLog sono presenti diverse funzionalità, come creazione di tabelle direttamente da un form html che si interfaccia tramite Ajax con il PhP, è presente la funzionalità di inserimento dati, per esempio di un’agenda personale di interventi lavorativi che vanno poi a salvare su tabella sql, è presente un’anagrafica della clientela, inserimento dati di clientela con menu di autocomplete per le città, comuni, calcololo codice fiscale, inserimento dati ed invio email direttamente dal sito, codice cliente univoco, indirizzi, numero di telefono, un form di prenotazione online che tramite un interfacciamento Php/Ajax disabilità le date prenotate dal calendario.Download del progetto in zip format o di alcuni file in zip format, creazione di un Excel per le tabelle sql, e tanto altro ancora, inserimento di un profilo operatore o amministratore, cancellazione del profilo, etc..etc…
Ovviamente tutti i controlli del caso ed ho anche inserito blocchi per l’sql injection o il cross script, ma ribadisco è un progetto personale quindi anche il blocco di cross scripting è soprattutto per una mia conoscenza personale anche perchè ci entro solo io nell’MvcWebLog :).