Symfony: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Garak (discussione | contributi)
Aggiunge versione 5.1
 
(44 versioni intermedie di 14 utenti non mostrate)
Riga 1:
{{Software
|Nome = Symfony
|Logo = Symfony.png
|Screenshot = Symfony_4.4_welcome_page.png
|Didascalia = Pagina principale di un progetto Symfony
|Sviluppatore = [[Sensio Labs]]
|UltimaVersione = 57.02.0
|DataUltimaVersione = 2129 novembre 20192024
|SistemaOperativo = multipiattaforma
|Genere = web framework
Riga 13:
|SoftwareLibero = sì
}}
'''Symfony''' è un insieme di componenti [[PHP]] e un [[framework]] per lo sviluppo di [[applicazione web|applicazioni web]] creato nativamente per [[PHP]].
È distribuito sotto [[licenza MIT]], dunque [[open source]], e il suo scopo è quello di aiutare gli sviluppatori web a creare potenti applicazioni in breve tempo.
 
È basato sulla filosofia ''perché reinventare la ruota ogni volta'', quindie comprendesu unavari serie[[Design dipattern]], mezziconiugando persolidità otteneree ivelocità risultati volutidi immediatamentesviluppo.
TuttoInizialmente èera basato sull'architettura [[Model-View-Controller|MVC]], edma hadalla ancheversione il2 supportoin perpoi svilupparepredilige inl'approccio "Request/Response", ispirato al protocollo [[AJAXHypertext Transfer Protocol|HTTP]].
 
Sviluppato inizialmente in PHP 5.30, poi successivamente aggiornato fino a PHP 8.0, è compatibile con i gestori di basi di dati [[MySQL]], [[PostgreSQL]], [[Oracle Database|Oracle]] e [[Microsoft SQL Server]], sia su piattaforme Windows chesia Linux-Unix.
 
== Storia ==
Fabien Potencier, fondatore e attuale CEO di Sense LabsSensioLabs, quando nel 2004 fu rilasciata la prima versione di PHP 5<ref>{{cita web|url=https://www.php.net/releases/index.php|titolo=versioni del programma}}</ref>, ritenne che gli strumenti di sviluppo disponibili avessero raggiunto uno stadio di maturazione sufficiente da poter essere integrati in un framework metodologico comune. Dopo circa un anno di lavoro, sviluppò il nucleo di Symfony. basato su approccio architetturale di [[Model-view-controller]], [[Object-relational mapping|mapatturamappattura relazionale ad oggetti]] con [[Opel]]Propel e strutture dati di [[Ruby on Rails]].
 
La prima versione di Symfony fu rilasciata nel 2005, inizialmente come strumento di sviluppo di Sense LabsSensioLabs. In seguito, fu rilasciato con [[licenza (informatica)|licenza]] aperta.
 
Nel 2012 alcuni componenti di Symfony sono stati trasferiti in Drupal 8.<ref>{{cita web| url = |titolo = Drupal 8 integra inizia ad integrare componenti da Symfony 2.0|lingua =es}}></ref>
 
Symfony è supportato da Sensio LabsSensioLabs (ex Sensio Framework<ref>{{cita web|url=http://www.symfony-project.org/forum/index.php/mv/msg/906/3674/|titolo=Discussione sul nuovo nome|lingua=en|accesso=15 maggio 2019|dataarchivio=22 dicembre 2008|urlarchivio=https://web.archive.org/web/20081222003213/http://www.symfony-project.org/forum/index.php/mv/msg/906/3674/#msg_3674|titolourlmorto=Discussione sul nuovo nome|lingua=en}}</ref>), società francese di formazione, consulenza e servizi sulle tecnologie a [[open source|sorgente aperto]].
 
== Caratteristiche ==
Riga 37:
* codice sorgente di facile lettura, manutenibile e documentato con PhpDocumentor
* ambiente di sviluppo con interfaccia a linea di comando, che facilita la generazione di codice
* [[Libreria (software)|librerie]] integrabili con quelle di altri produttori SWsoftware
 
La programmazione a oggetti e l'uso dei ''[[namespace]]'' richiedono come requisito minimo l'utilizzo di PHP 5.3.0 o superiore.
 
== Applicazione ==
Symfony presenta vantaggi che permettono di automatizzare alcune attività dello sviluppo di progetti web, quali<ref>{{cita libro | autore = F. Zaninotto | autore2 = Potencier F. | titolo = The Definitive Guide to symfony | url = https://archive.org/details/definitiveguidet00pote |edizione = 1ª |editore = Apress | anno = 2007 |lingua = en | isbn = 978-1-59059-786-6 | pagina p=[https://archive.org/details/definitiveguidet00pote/page/n516 486]}}</ref>.
 
* traduzione dell'interfaccia testuale, dei dati e della [[Localizzazione (software)|localizzazione del software]];
* rilascio dell'interfaccia, basata su modelli e layout alla portata di sviluppatori HTML, privi della conoscenza del framework;
* convalida automatica delledei [[Form|moduli]], per garantire una migliore qualità dei dati presenti nei database;
* gestione della [[cache]], per ridurre l'utilizzo della larghezza di banda e il carico di elaborazione del server;
* [[instradamento]] tramite URL intelligenti, per fornire un'esperienza di navigazione user-friendly;
* il paging automatico, l'ordinamento e il filtraggio;
* l'autenticazione tramite credenziali di accesso.
 
Line 61 ⟶ 58:
* [[Doctrine (PHP)|Doctrine]] (o [[Propel]]): PHP [[Object-relational mapping|ORM]]
* Monolog: PHP Logging
* SwiftSymfony Mailer: mailing
 
== Distribuzioni ==
Line 72 ⟶ 69:
| style="background-color:#fa8072;" | Rosso
| Vecchia distribuzione; non supportato
|-
| style="background-color:#ffc13b;" | Arancione
| Vecchia distribuzione; ancora in supporto
|-
| style="background-color:#a0e75a;" | Verde
Riga 92:
| style="background-color:#fa8072" | 3 anni
| align="right" | ≥ 5.0
| align="right" | gennaio 20102009
|
|-
Riga 121:
| align="right" |
| align="right" | gennaio 2013
| identico alla versione 1.3, ma senza caratteristiche deprecate.<ref>[{{Cita web |url=http://www.symfony-project.org/blog/2009/08/06/about-symfony-1-3-and-symfony-1-4 |titolo=Symfony blog - About symfony 1.3 and symfony 1.4] |accesso=15 dicembre 2009 |dataarchivio=9 gennaio 2011 |urlarchivio=https://web.archive.org/web/20110109033205/http://www.symfony-project.org/blog/2009/08/06/about-symfony-1-3-and-symfony-1-4 |urlmorto=sì }}</ref>
|-
| 2.0<ref>[{{Cita web |url=http://www.symfony-project.org/blog/2009/10/27/why-will-symfony-2-0-finally-use-php-5-3 |titolo=Symfony blog - Why will Symfony 2.0 finally use PHP 5.3?] |accesso=15 dicembre 2009 |dataarchivio=24 febbraio 2011 |urlarchivio=https://web.archive.org/web/20110224223004/http://www.symfony-project.org/blog/2009/10/27/why-will-symfony-2-0-finally-use-php-5-3 |urlmorto=sì }}</ref>
| align="right" | luglio 2011<ref>[https://symfony.com/blog/symfony-2-0 Symfony 2.0]</ref>
| style="background-color:#fa8072;" |
Riga 189:
| align="right" | novembre 2015<ref name="symfony.com"/>
| style="background-color:#fa8072;" | 8 mesi
| align="right" | ≥ 5.5 <ref>[https://symfony.com/blog/symfony-3-0-the-roadmap Symfony 3.0: The roadmap]</ref>
| align="right" | luglio 2016
|
Riga 216:
|3.4
| align="right" | novembre 2017
| style="background-color:#a0e75afa8072;" | 3 anni
| align="right" |
| align="right" | novembre 2020
Riga 224:
| align="right" | novembre 2017<ref name="symfony.com"/>
| style="background-color:#fa8072;" | 8 mesi
| align="right" | ≥ 7.1 <ref>[https://symfony.com/blog/preparing-your-applications-for-php-7-with-symfony-polyfills Preparing your Applications for PHP 7 with Symfony Polyfills]</ref>
| align="right" | luglio 2018
|-
Riga 243:
|4.3
| align="right" | maggio 2019
| style="background-color:#a0e75afa8072;" | 8 mesi
| align="right" |
| align="right" | gennaio 2020
Riga 250:
|4.4
| align="right" | novembre 2019
| style="background-color:#a0e75afa8072;" | 3 anni
| align="right" |
| align="right" | novembre 2022
Riga 257:
|5.0
| align="right" | novembre 2019
| style="background-color:#a0e75afa8072;" | 8 mesi
| align="right" | ≥ 7.2
| align="right" | luglio 2020
Riga 263:
|-
|5.1
| align="right" | maggio 2020 <ref>[https://symfony.com/releases/5.1 Symfony 5.1]</ref>
| style="background-color:#87ceebfa8072;" | 8 mesi
| align="right" |
| align="right" | gennaio 2021
|
|-
|5.2
| align="right" | novembre 2020<ref>[https://symfony.com/releases/5.2 Symfony 5.2]</ref>
| style="background-color:#fa8072;" | 8 mesi
| align="right" |
| align="right" | luglio 2021
|
|-
|5.3
| align="right" | maggio 2021<ref>[https://symfony.com/releases/5.3 Symfony 5.3]</ref>
| style="background-color:#fa8072;" | 8 mesi
| align="right" |
| align="right" | gennaio 2022
|
|-
|5.4
| align="right" | novembre 2021<ref>[https://symfony.com/releases/5.4 Symfony 5.4]</ref>
| style="background-color:#ffc13b;" | 3 anni
| align="right" |
| align="right" | febbraio 2029
| LTS
|
|-
|6.0
| align="right" | novembre 2021<ref>[https://symfony.com/releases/6.0 Symfony 6.0]</ref>
| style="background-color:#fa8072;" | 14 mesi<ref name="Symfony 6.1 will require PHP 8.1">{{Cita web|lingua=en|url=https://symfony.com/blog/symfony-6-1-will-require-php-8-1 |titolo=Symfony 6.1 will require PHP 8.1|data=24 febbraio 2022}}</ref>
| align="right" | ≥ 8.0<ref>[https://github.com/symfony/symfony/issues/40389#issuecomment-791980514 PHP Language Level for Symfony 6]</ref>
| align="right" | gennaio 2023
|
|-
|6.1
| align="right" | maggio 2022<ref>[https://symfony.com/releases/6.1 Symfony 6.1]</ref>
| style="background-color:#fa8072;" | 8 mesi
| align="right" | ≥ 8.1<ref name="Symfony 6.1 will require PHP 8.1"/>
| align="right" | gennaio 2023
|
|-
|6.2
| align="right" | novembre 2022<ref>[https://symfony.com/releases/6.2 Symfony 6.2]</ref>
| style="background-color:#fa8072;" | 8 mesi
| align="right" |
| align="right" | luglio 2023
|
|-
|6.3
| align="right" | maggio 2023<ref>[https://symfony.com/releases/6.3 Symfony 6.3]</ref>
| style="background-color:#fa8072;" | 8 mesi
| align="right" |
| align="right" | gennaio 2024
|-
|6.4
| align="right" | novembre 2023<ref>[https://symfony.com/releases/6.4 Symfony 6.4]</ref>
| style="background-color:#a0e75a;" | 3 anni
| align="right" |
| align="right" | novembre 2026
| LTS
|-
|7.0
| align="right" | novembre 2023<ref>[https://symfony.com/blog/symfony-7-0-0-released Symfony 7.0.0 released]</ref>
| style="background-color:#fa8072;" | 8 mesi
| align="right" | ≥ 8.2
| align="right" | luglio 2024
|
|-
|7.1
| align="right" | maggio 2024<ref>[https://symfony.com/releases/7.1 Symfony 7.1]</ref>
| style="background-color:#fa8072;" | 8 mesi
| align="right" |
| align="right" | gennaio 2025
|
|
|-
|7.2
| align="right" | novembre 2024<ref>[https://symfony.com/releases/7.2 Symfony 7.2]</ref>
| style="background-color:#a0e75a;" | 8 mesi
| align="right" |
| align="right" | luglio 2025
|
|}
 
ATra partire dallala versione 2.0 e la 4.3, le distribuzioni beneficerannohanno beneficiato di ulteriori sei mesi di supporto, solamente per chiudere eventuali bug inerenti alla sicurezza. Per le versioni LTS, il periodo esteso sarà (di dodici mesi<ref>[https://symfony.com/blog/which-version-of-symfony-should-you-use Which version of Symfony should you use? - Symfony<!-- Titolo generato automaticamente -->]</ref>) è tuttora in vigore.
 
== Note ==
Line 282 ⟶ 359:
* {{Collegamenti esterni}}
 
{{PHP}}
{{Framework per applicazioni web}}
{{Controllo di autorità}}