PHP (acronimo ricorsivo di “PHP: Hypertext Preprocessor”, preprocessore di ipertesti) è un linguaggio di scripting interpretato che ha rivoluzionato il modo di creare siti web dinamici. Nato nel 1994 come semplice raccolta di script per gestire pagine personali, PHP è oggi il linguaggio lato server più usato al mondo, alimentando oltre il 75% dei siti web globali.
Grazie soprattutto alla diffusione di WordPress (CMS scritto interamente in PHP), questo linguaggio ha conquistato una posizione dominante nello sviluppo web moderno. L’interprete PHP è un software libero distribuito sotto la licenza PHP, garantendo accessibilità e flessibilità agli sviluppatori di tutto il mondo.
Cos’è PHP e a Cosa Serve
Definizione e Scopo Principale
PHP è un linguaggio di scripting interpretato originariamente concepito per la programmazione di pagine web dinamiche. A differenza dell’HTML statico, PHP permette di creare contenuti che cambiano in base all’interazione dell’utente, ai dati memorizzati in un database o ad altre condizioni specifiche.
Ambiti di Utilizzo
Attualmente PHP è principalmente utilizzato per:
- Sviluppo di applicazioni web lato server: La funzione primaria di PHP è elaborare richieste HTTP e generare contenuti dinamici sul server prima di inviarli al browser dell’utente
- Script a riga di comando: PHP può essere utilizzato per creare script eseguibili da terminale, utili per automazioni e task schedulati
- Applicazioni stand-alone con interfaccia grafica: Sebbene meno comune, PHP può essere impiegato per sviluppare applicazioni desktop
- API e servizi web: PHP è ampiamente utilizzato per creare REST API e servizi web che alimentano applicazioni moderne
Esempi di Software Scritti in PHP
Un esempio emblematico di software scritto in PHP è MediaWiki, la piattaforma su cui si basano tutti i progetti wiki della Wikimedia Foundation, inclusa la celebre Wikipedia. Altri esempi di successo includono WordPress, Facebook (nelle sue fasi iniziali), Magento e numerosi altri CMS enterprise.
La Nascita e la Storia di PHP
Le Origini: Personal Home Page (1994-1995)
PHP nacque nel 1994 a opera del programmatore danese Rasmus Lerdorf. Inizialmente, PHP era semplicemente una raccolta di script Common Gateway Interface (CGI) che permettevano una facile gestione delle pagine personali.
Secondo l’annuncio originale di PHP 1.0 da parte dell’autore sul newsgroup comp.infosystems.www.authoring.cgi, il significato originario dell’acronimo era “Personal Home Page” (Pagina Personale).
PHP/FI: Form Interpreter (1995-1997)
Il pacchetto originario venne successivamente esteso e riscritto dallo stesso Lerdorf in linguaggio C, aggiungendo funzionalità cruciali quali:
- Supporto alla base di dati mSQL
- Possibilità di integrare il codice PHP direttamente nel codice HTML
- Interpretazione di form (Form Interpreter)
Questa versione iniziò a chiamarsi PHP/FI, dove FI sta per Form Interpreter. L’innovazione principale fu la capacità di semplificare drasticamente la realizzazione di pagine dinamiche. Nel 1997 si stimava che circa 50.000 siti web erano già basati su PHP.
PHP 3: La Svolta con Zend Engine (1998)
Il linguaggio cominciò a godere di una certa popolarità tra i progetti open source del web e venne così notato da Zeev Suraski e Andi Gutmans, due giovani programmatori israeliani che avrebbero cambiato per sempre la storia di PHP.
I due collaborarono nel 1998 con Lerdorf allo sviluppo della terza versione di PHP, durante la quale:
- L’acronimo PHP assunse il significato attuale di “PHP: Hypertext Preprocessor”
- Fu riscritto completamente il motore del linguaggio
- Il nuovo motore fu battezzato Zend, da una contrazione dei nomi Zeev e Andi
Le caratteristiche chiave di PHP 3.0 erano:
- Straordinaria estensibilità: Architettura modulare che permetteva facilmente di aggiungere nuove funzionalità
- Connettività ai database: Supporto nativo per diverse basi di dati
- Supporto iniziale per il paradigma a oggetti: Primo passo verso la programmazione orientata agli oggetti
Verso la fine del 1998, PHP 3.0 era installato su circa il 10% dei server web presenti su Internet, segnando l’inizio di una crescita esponenziale.
PHP 4: La Maturità e la Competizione (2000-2005)
PHP divenne a questo punto sufficientemente maturo da competere con i linguaggi lato server come Active Server Pages (ASP) di Microsoft, e cominciò a essere usato su larga scala. La versione 4 di PHP venne lanciata nel 2000 e prevedeva notevoli migliorie in termini di prestazioni e funzionalità.
Dati di crescita impressionanti:
- Giugno 2001: Superato il milione di siti che utilizzano PHP
- Ottobre 2002: Più del 45% dei server Apache usava PHP
- 2004: PHP fu uno dei linguaggi principali con cui venne creato Facebook
- Gennaio 2005: PHP ricevette il titolo di “Programming Language of 2004” dal TIOBE Programming Community Index
- 2005: La configurazione LAMP (Linux, Apache, MySQL, PHP) superò il 50% del totale dei server sulla rete mondiale
PHP 5: L’Era della Programmazione a Oggetti (2004-2019)
Nel 2008 PHP 5 divenne l’unica versione stabile in fase di sviluppo attivo. Questa versione rappresentò una rivoluzione per il linguaggio, introducendo:
- Supporto completo e maturo per la programmazione orientata agli oggetti (OOP)
- Late static binding dalla versione 5.3.0
- Miglioramenti significativi nelle prestazioni
- SQLite integrato nativamente nel linguaggio
A partire dal 5 febbraio 2008, grazie all’iniziativa GoPHP5 sostenuta da numerosi sviluppatori PHP, molti progetti open source di alto profilo cessarono di supportare PHP 4 nel nuovo codice, promuovendo massivamente il passaggio a PHP 5.
La versione 5 di PHP raggiunse la release 5.6 prima di essere abbandonata dal punto di vista dello sviluppo e del supporto nel gennaio 2019.
PHP 7: La Rivoluzione delle Prestazioni (2015-2022)
Il 3 dicembre 2015 fu pubblicata la versione 7 di PHP, che portò miglioramenti rivoluzionari:
- Prestazioni raddoppiate rispetto a PHP 5.6
- Consumo di memoria ridotto
- Dichiarazione dei tipi scalari
- Return type declarations
- Operatore null coalescing (
??) - Operatore spaceship (
<=>)
PHP 7 arrivò fino alla versione 7.4.33, con il supporto della versione 7.4 terminato nel novembre 2022.
Nota curiosa: Non esiste una versione PHP 6. Il progetto PHP 6 fu abbandonato a causa di problematiche legate all’implementazione di Unicode, e lo sviluppo saltò direttamente alla versione 7.
PHP 8: L’Era della JIT Compilation (2020-Oggi)
Il 27 novembre 2020 fu pubblicata la versione 8 di PHP, la prima a supportare la compilazione just-in-time (JIT), aumentando drasticamente le prestazioni per determinati tipi di applicazioni.
Innovazioni principali di PHP 8:
- JIT Compiler: Compilazione just-in-time che migliora significativamente le prestazioni
- Named Arguments: Possibilità di passare argomenti per nome
- Union Types: Dichiarazione di più tipi possibili per un parametro
- Attributes: Metadati strutturati come alternativa ai commenti PHPDoc
- Match Expression: Evoluzione più potente dello switch
- Constructor Property Promotion: Sintassi semplificata per le proprietà del costruttore
- Nullsafe Operator: Operatore
?->per gestire valori null in catene di chiamate
Le versioni successive (8.1, 8.2, 8.3, 8.4) hanno continuato ad aggiungere funzionalità moderne, con PHP 8.5 previsto per il 20 novembre 2025.
Caratteristiche Tecniche di PHP
Sintassi e Paradigma
PHP riprende per molti versi la sintassi del C, come fanno molti linguaggi moderni, e del Perl. Le caratteristiche principali includono:
- Tipizzazione debole: Le variabili non richiedono dichiarazione esplicita del tipo (sebbene dalla versione 7 sia possibile dichiarare i tipi)
- Programmazione orientata agli oggetti: Dalla versione 5, PHP offre un supporto completo per la OOP, incluse classi, interfacce, traits, namespace e molto altro
- Linguaggio di alto livello: Sebbene permetta in alcuni casi di agire a basso livello (operatori fra bit, gestione di stringhe come array), PHP è fondamentalmente un linguaggio ad alto livello
- Oltre 3.000 funzioni API: Il nucleo base di PHP offre una vastissima libreria di funzioni built-in
Integrazione con Database
PHP è in grado di interfacciarsi a innumerevoli DBMS (Database Management System), tra cui:
- Relazionali: MySQL, PostgreSQL, MariaDB, Oracle, Firebird, IBM DB2, Microsoft SQL Server
- NoSQL: MongoDB, Redis, Cassandra
PHP è particolarmente ben integrato con MySQL/MariaDB, per il quale possiede più di una API:
mysql(deprecata)mysqli(MySQL improved)PDO(PHP Data Objects) – l’approccio più moderno e raccomandato
A partire dalla versione 5, PHP integra al suo interno SQLite, una base di dati embedded leggera e performante.
Supporto per Tecnologie Moderne
PHP supporta numerose tecnologie e protocolli:
- XML: Parsing e generazione di documenti XML
- SOAP: Per servizi web
- IMAP: Gestione email
- FTP: Trasferimento file
- CORBA: Comunicazione distribuita
- JSON: Formato standard per API REST
Integrazione con Altri Linguaggi
PHP si integra anche con altri linguaggi e piattaforme:
- Java: Attraverso bridge specifici
- .NET: Interoperabilità con framework Microsoft
- Node.js: Complementarità nei CMS moderni
- Composer: Gestore di dipendenze ispirato a npm
Repository e Librerie
PHP dispone di due principali archivi per estensioni e librerie:
- PEAR (PHP Extension and Application Repository): Framework di librerie riusabili per lo sviluppo di applicazioni PHP
- PECL (PHP Extension Community Library): Raccolta di tutte le estensioni conosciute scritte in C
Utilizzi Pratici di PHP
PHP nei Content Management System (CMS)
Grazie alle caratteristiche del linguaggio di programmazione, è stato possibile realizzare CMS modulari dove attraverso file .php è possibile integrare e migliorare le funzionalità del software. La complementarità tra linguaggio PHP e l’utilizzo di database relazionali interrogabili con SQL consente la creazione di CMS dinamici che portano alla realizzazione di siti web dalla struttura estremamente flessibile.
I CMS PHP più diffusi:
- WordPress: Il CMS più popolare al mondo, alimenta oltre il 40% di tutti i siti web. Grazie a plugin e temi scritti in PHP, offre una personalizzazione praticamente illimitata
- Joomla!: CMS enterprise con focus su estensibilità e funzionalità avanzate
- Drupal: Piattaforma robusta per siti web complessi e applicazioni enterprise
- Magento: Soluzione e-commerce leader nel settore, ora parte di Adobe
- TYPO3: CMS enterprise particolarmente diffuso in Germania e nel Nord Europa
PHP nei Framework MVC
I framework Model-View-Controller rappresentano l’approccio moderno allo sviluppo PHP professionale. I più conosciuti sono:
Symfony
Framework PHP enterprise-grade che offre:
- Componenti riutilizzabili
- Architettura modulare
- Integrazione con Doctrine ORM
- Sistema di bundle estensibile
Laravel
Il framework PHP più popolare per lo sviluppo moderno:
- Sintassi elegante ed espressiva
- Eloquent ORM potente e intuitivo
- Sistema di routing avanzato
- Artisan CLI per automazione
- Ecosystem completo (Forge, Envoyer, Nova)
Caratteristiche comuni dei framework moderni:
- Core basato su librerie e package creati da team diversi
- Uso di Composer per la gestione delle dipendenze
- Algoritmi integrativi e riutilizzabili tramite PSR-4 (o superiori)
- Autoload automatico delle classi
- Architettura che facilita testing e manutenibilità
Applicazioni Enterprise
PHP non è solo per blog e piccoli siti. Grandi aziende utilizzano PHP per applicazioni mission-critical:
- Facebook: Originariamente scritto interamente in PHP (ora usa Hack)
- Wikipedia: MediaWiki gestisce uno dei siti più visitati al mondo
- Slack: Componenti significativi scritti in PHP
- Etsy: Marketplace globale basato su PHP
- Mailchimp: Piattaforma email marketing
Le Problematiche di Sicurezza in PHP
Panoramica sulla Sicurezza
La sicurezza in PHP ha rappresentato storicamente una sfida significativa. La percentuale di software non sicuro scritto in PHP, sul totale di tutte le falle di sicurezza elencate dal Common Vulnerabilities and Exposures (CVE), mostrava questi dati allarmanti:
- 2003: 12%
- 2004: 20%
- 2005: 28%
- 2006: 43% (picco massimo)
- 2007: 36%
- 2008: 34,8%
- 2009: 29,9%
- 2010: 27,2%
Cause delle Vulnerabilità
È importante sottolineare che la quasi totalità di queste vulnerabilità ha origine da:
- Mancati adempimenti delle best practice da parte dei programmatori
- Abusi di particolari funzionalità offerte da PHP che, se usate erroneamente, degenerano in gravi vulnerabilità
Esempi Storici: Register Globals e Magic Quotes
Due funzionalità particolarmente problematiche furono:
- Register Globals: Creava automaticamente variabili globali da parametri GET/POST, aprendo enormi falle di sicurezza
- Magic Quotes: Tentava di “sanificare” automaticamente gli input, ma in modo inefficace e pericoloso
Entrambe le funzionalità sono state deprecate e poi rimosse nelle versioni successive di PHP proprio a causa dei rischi che comportavano.
Principali Tipologie di Attacchi
PHP può essere soggetto a diversi attacchi hacker:
1. Remote Code Execution (RCE)
Si verifica quando un attaccante riesce a caricare ed eseguire codice arbitrario sul server. Questo può avvenire attraverso:
- Upload di file non validati
- Uso improprio di funzioni come
eval() - Deserializzazione non sicura
2. SQL Injection (SQLi)
Permette agli attaccanti di:
- Effettuare attività di spoofing identity (furto di identità)
- Modificare dati esistenti nel database
- Causare repudiation issues (negazione di transazioni)
- Ottenere tutti i dati presenti nel sistema
- Eliminare o rendere inaccessibili dati critici
- Compromettere utenti del database server
Esempio di codice vulnerabile:
php
// MAI fare così!
$query = "SELECT * FROM users WHERE username = '$_POST[username]'";
Soluzione corretta:
php
// Sempre usare prepared statements
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$_POST['username']]);
3. Cross-Site Scripting (XSS)
Si verifica quando un attaccante causa il caricamento di codice dannoso nel browser del visitatore. Questo codice può:
- Rubare cookie di sessione
- Modificare il contenuto della pagina
- Reindirizzare l’utente a siti malevoli
- Installare keylogger
Prevenzione:
php
// Sempre sanificare l'output
echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');
4. Cross-Site Request Forgery (CSRF)
Si verifica quando un attaccante crea un collegamento malevolo che, se cliccato da un utente con privilegi, esegue azioni non autorizzate come:
- Creazione di nuovi utenti amministratori
- Modifica di impostazioni critiche
- Trasferimento di fondi
Protezione:
php
// Usare token CSRF
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
5. PHP Object Injection
Si verifica quando un’applicazione PHP prende input dell’utente e lo passa alla funzione unserialize(), che trasforma una stringa in un oggetto PHP. Se l’attaccante controlla i dati serializzati, può:
- Eseguire codice arbitrario
- Modificare il flusso dell’applicazione
- Accedere a dati sensibili
6. Remote e Local File Inclusion (RFI e LFI)
Quando un’applicazione PHP accetta input dell’utente e lo passa a funzioni progettate per caricare file, l’attaccante può:
- Caricare codice PHP da URL esterni (RFI)
- Accedere a file locali sensibili (LFI)
- Eseguire codice arbitrario
Funzioni vulnerabili se usate impropriamente:
includeinclude_oncerequirerequire_oncefopenfile_get_contents
Best Practice per la Sicurezza
Configurazione php.ini
È sempre buona norma rivedere la configurazione di PHP, contenuta nel file php.ini, per controllare le funzionalità attivate. Il file documenta tipicamente tre tipi di configurazioni:
- Configurazione di default: Impostazioni base
- Ambiente di sviluppo: Consente di vedere errori a video per debugging
- Ambiente di produzione: Errori scritti in file di log, maggiore sicurezza
Impostazioni cruciali per la sicurezza:
ini
; Disabilitare la visualizzazione degli errori in produzione
display_errors = Off
log_errors = On
; Limitare l'upload di file
file_uploads = On
upload_max_filesize = 2M
; Disabilitare funzioni pericolose
disable_functions = exec,passthru,shell_exec,system,proc_open,popen
; Limitare l'accesso al filesystem
open_basedir = /var/www/html
; Disabilitare allow_url_fopen e allow_url_include
allow_url_fopen = Off
allow_url_include = Off
Regole d’Oro per Sviluppare in Sicurezza
- Mai fidarsi dell’input utente: Validare e sanificare SEMPRE tutti gli input
- Usare prepared statements: Per tutte le query SQL
- Sanificare l’output: Usare
htmlspecialchars()per prevenire XSS - Implementare CSRF protection: Token unici per ogni form
- Usare password hashing sicuro:
password_hash()epassword_verify() - Mantenere PHP aggiornato: Le nuove versioni correggono vulnerabilità
- Limitare i permessi dei file: Impostare correttamente chmod
- Usare HTTPS: Sempre, per proteggere i dati in transito
- Implementare rate limiting: Prevenire brute force attacks
- Logging e monitoring: Tracciare attività sospette
Caratteristiche Moderne di PHP 8
Named Arguments
Possibilità di passare argomenti per nome, aumentando la leggibilità:
php
function somma(int $n1 = 0, int $n2 = 0, int $n3 = 0): int {
return $n1 + $n2 + $n3;
}
echo somma(n1: 5, n3: 5); // Output: 10
Union Types
Dichiarazione di più tipi possibili:
php
function processValue(int|float|string $value): void {
// La funzione accetta int, float o string
}
Match Expression
Alternativa più potente a switch:
php
$result = match($status) {
'pending' => 'In attesa',
'processing' => 'In elaborazione',
'completed' => 'Completato',
default => 'Sconosciuto'
};
Nullsafe Operator
Gestione elegante dei valori null:
php
// Prima di PHP 8
$country = null;
if ($session !== null) {
$user = $session->user;
if ($user !== null) {
$address = $user->getAddress();
if ($address !== null) {
$country = $address->country;
}
}
}
// Con PHP 8
$country = $session?->user?->getAddress()?->country;
Gestione delle Variabili in PHP
Caratteristiche Base
I nomi di variabili in PHP iniziano sempre con il simbolo del dollaro ($) e il carattere successivo non deve essere un numero:
php
$nome = "Mario"; // Valido
$nome2 = "Luigi"; // Valido
$2nome = "Invalido"; // INVALIDO
I nomi delle variabili sono case-sensitive:
php
$ancora = "primo valore";
$ANCORA = "secondo valore";
// $ancora e $ANCORA sono DUE variabili diverse
Array Associativi
PHP gestisce gli array come mappe associative, offrendo grande flessibilità:
php
$residenti = [
'Torino' => 908551,
'Milano' => 1315791,
'Roma' => 2753000
];
foreach ($residenti as $città => $nResidenti) {
echo "La città $città ha $nResidenti abitanti\n";
}
Gli array in PHP possono:
- Essere multidimensionali
- Contenere tipi misti di dati
- Essere usati come liste, stack, code
- Essere dinamici (aggiungere/rimuovere elementi)
Integrazione con Server Web
Apache HTTP Server
PHP è naturalmente integrato con Apache attraverso:
- mod_php: Modulo Apache che esegue PHP direttamente nel processo del server
- Fornisce un’API specifica per interagire con Apache
- Configurazione tramite file
.htaccess
Altri Server Web
PHP funziona anche con:
- Nginx: Tramite PHP-FPM (FastCGI Process Manager)
- Microsoft IIS: Supporto nativo su Windows Server
- LiteSpeed: Server web ad alte prestazioni
- Server built-in: Da PHP 5.4, server di sviluppo integrato
Configurazione LAMP/LEMP
Stack LAMP (Linux, Apache, MySQL, PHP)
La configurazione LAMP è diventata lo standard de facto per l’hosting web:
- Linux: Sistema operativo stabile e sicuro
- Apache: Server web robusto
- MySQL/MariaDB: Database relazionale performante
- PHP: Linguaggio per la logica applicativa
Nel 2005, questa configurazione aveva già superato il 50% del totale dei server sulla rete mondiale.
Stack LEMP (Linux, Nginx, MySQL, PHP)
Variante moderna che sostituisce Apache con Nginx per:
- Migliori prestazioni con contenuti statici
- Gestione efficiente di connessioni simultanee
- Minore utilizzo di memoria
Funzione phpinfo()
Per visualizzare tutte le opzioni di configurazione di PHP, è possibile utilizzare la funzione phpinfo():
php
<?php
phpinfo();
?>
Questa funzione mostra:
- Versione di PHP installata
- Moduli caricati
- Configurazione php.ini
- Variabili di ambiente
- Informazioni sul server web
Attenzione: Rimuovere sempre phpinfo() da ambienti di produzione, poiché espone informazioni sensibili sulla configurazione del server.
Il Futuro di PHP
Roadmap e Sviluppo
PHP continua a evolversi con rilasci regolari:
- Ciclo di rilascio annuale: Nuova major/minor version ogni anno a novembre
- 3 anni di supporto: 2 anni di bug fixes + 1 anno di security fixes
- Compatibilità: Focus su backward compatibility dove possibile
Tendenze Moderne
- Performance: Continui miglioramenti con JIT compiler
- Type System: Progressiva tipizzazione più forte
- Async/Await: Discussioni in corso per supporto nativo
- Fibers: Introdotti in PHP 8.1 per concorrenza cooperativa
- Enumerations: Aggiunte in PHP 8.1
- Readonly Properties: Maggiore immutabilità
PHP vs Altri Linguaggi
Vantaggi di PHP:
- Curva di apprendimento dolce
- Ecosystem maturo e vastissimo
- Hosting economico e diffuso
- Ottimo per rapid prototyping
- Integrazione nativa con web
Confronto con alternative:
- Node.js: JavaScript full-stack, ma PHP ha più librerie web-specific
- Python: Più versatile, ma PHP domina nel web hosting
- Ruby: Elegante, ma meno diffuso di PHP
- Java: Più verboso e complesso, PHP più agile per web
In Conclusione
PHP ha percorso un viaggio straordinario dalla sua nascita nel 1994 come semplice raccolta di script CGI fino a diventare il linguaggio lato server più usato al mondo. Con oltre 25 anni di evoluzione, PHP ha dimostrato una resilienza e capacità di adattamento notevoli, passando attraverso trasformazioni radicali mantenendo sempre la retrocompatibilità quando possibile.
Punti di Forza
- Accessibilità: Facile da imparare per i principianti
- Potenza: Abbastanza potente per applicazioni enterprise
- Community: Vastissima comunità di sviluppatori
- Ecosystem: Librerie, framework e CMS maturi
- Hosting: Supportato praticamente ovunque
- Open Source: Software libero e gratuito
Sfide Affrontate
PHP ha dovuto affrontare e superare diverse sfide:
- Problemi di sicurezza storici (largamente risolti)
- Percezione negativa in parte della community tech
- Competizione con linguaggi più moderni
- Necessità di modernizzazione del codice legacy
Lo Stato Attuale
Oggi PHP 8 rappresenta un linguaggio moderno, performante e sicuro che compete efficacemente con alternative più recenti. L’introduzione della JIT compilation, il sistema di tipi migliorato, e le funzionalità moderne come attributes e fibers dimostrano che PHP non è solo rilevante, ma continua a innovare.
Perché Scegliere PHP nel 2025
- WordPress: Se lavori con WordPress (40%+ del web), PHP è essenziale
- Laravel: Uno dei framework più amati dagli sviluppatori
- Performance: PHP 8 è velocissimo grazie al JIT compiler
- Maturità: Decenni di best practices e pattern consolidati
- Job Market: Enorme domanda di sviluppatori PHP
- Cost-Effective: Hosting economico e ampiamente disponibile
PHP continua a essere una scelta solida e pragmatica per lo sviluppo web, provando che un linguaggio ben mantenuto, con una community attiva e un focus sulle esigenze reali degli sviluppatori, può rimanere rilevante anche in un panorama tecnologico in rapida evoluzione.
Che tu stia costruendo un semplice blog con WordPress, un’applicazione enterprise con Symfony, o un’API moderna con Laravel, PHP offre gli strumenti, la flessibilità e le prestazioni necessarie per avere successo nello sviluppo web moderno.
Risorse Utili:
- Sito ufficiale PHP: https://www.php.net/
- Documentazione ufficiale: https://www.php.net/manual/it/
- PHP The Right Way: https://phptherightway.com/
- Packagist (Composer): https://packagist.org/
- Framework Laravel: https://laravel.com/
- Framework Symfony: https://symfony.com/
- WordPress: https://wordpress.org/
Lascia un commento