CodeIgniter: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.3
m clean up, replaced: lingua=en-US → lingua=en
Riga 1:
 
 
{{Software
|Nome = CodeIgniter
Riga 17 ⟶ 15:
|Lingua =
}}
'''CodeIgniter''' è un [[web application framework]] con licenza [[Open Software License|Open Software License (OSL)]] per lo sviluppo di [[applicazione web|applicazioni web]] dinamiche in linguaggio [[PHP]], basato sul paradigma MVC ([[Model-View-Controller]]).
 
La prima versione pubblica è stata distribuita da [[EllisLab]] il 28 febbraio [[2006]] mentre l'ultima versione 3 stabile (3.1.11) risale al 10 settembre 2019<ref>{{Cita web|url=https://forum.codeigniter.com/thread-72626.html|titolo=CodeIgniter 3.1.10 Released|autore=James Parry (Project Lead)|sito=forum.codeigniter.com|lingua=EN|accesso=2019-07-11}}</ref>. Attualmente la versione più recente stabile è la 4.1.9.
 
== Descrizione ==
Riga 28 ⟶ 26:
EllisLab, società privata sita a [[Bend]] in [[Oregon]], che ha originalmente creato il [[Framework per applicazioni web|framework]], ha annunciato il 6 ottobre [[2014]] che lo sviluppo di Codeigniter sarà continuato dalla [[British Columbia Institute of Technology]]<ref>{{Cita web|url=https://ellislab.com/blog/entry/your-favorite-php-framework-codeigniter-has-a-new-home|titolo=Your Favorite PHP Framework has a new home|accesso=26 dicembre 2017|urlarchivio=https://web.archive.org/web/20141017042021/https://ellislab.com/blog/entry/your-favorite-php-framework-codeigniter-has-a-new-home|dataarchivio=17 ottobre 2014|urlmorto=sì}}</ref>.
 
Il 7 ottobre 2019 i membri e gli sviluppatori più attivi hanno fondato la CodeIgniter Foundation, società [[Non Profit|non profit]] che si occupa di governare e sviluppare il progetto<ref>{{Cita web|url=https://forum.codeigniter.com/showthread.php?tid=74035|titolo=CodeIgniter Foundation in place|autore=Jim Parry|sito=forum.codeigniter.com|lingua=EN|accesso=2019-07-16}}</ref>.
 
Il 15 gennaio 2020 è deceduto Jim Parry, uno dei principali ideatori e sviluppatori del progetto, che continua nelle mani degli altri collaboratori<ref>{{Cita web|url=https://forum.codeigniter.com/thread-75235.html|titolo=Important News about Jim Parry and the Project|sito=forum.codeigniter.com|accesso=2020-02-25}}</ref>.
 
=== Caratteristiche ===
CodeIgniter 3 è compatto (occupa circa 2 [[Megabyte|MegaByte]] di spazio su disco) e veloce nel funzionamento<ref>{{Cita web|url=http://www.tisindia.com/blog/7-best-php-frameworks-2014/|titolo=7 Best PHP Frameworks}}</ref>. La sua installazione richiede generalmente poco tempo e può essere svolta senza usare la riga di comando né obbligatoriamente strumenti come [[Composer (software)|Composer]] o [[Git (software)|Git]], sebbene siano fornite istruzioni per usarli.
 
Grazie alle sue caratteristiche può essere installato facilmente in quasi tutti i sistemi di hosting e con varie versioni di [[PHP]]. La versione 3 richiede come minimo [[PHP]] versione 5.3.7 (5.6 consigliata)<ref>{{Cita web|url=https://codeigniter.com/user_guide/general/requirements.html|titolo=Server Requirements — CodeIgniter 3.1.10 documentation|sito=codeigniter.com|accesso=2019-07-11|urlarchivio=https://web.archive.org/web/20190711002349/https://codeigniter.com/user_guide/general/requirements.html|dataarchivio=11 luglio 2019|urlmorto=sì}}</ref>, mentre la nuova versione 4, attualmente in versione beta, richiederà come minimo la versione 7.2 (o successive)<ref>{{Cita web|url=https://codeigniter4.github.io/CodeIgniter4/intro/requirements.html|titolo=Server Requirements — CodeIgniter4 4.0.0-beta.3 documentation|sito=codeigniter4.github.io|lingua=EN|accesso=2019-07-23}}</ref>.
Riga 40 ⟶ 38:
 
* [[MySQL]] v.5.1+ con driver mysqli e pdo
 
* [[Oracle Database|Oracle]] con driver oci8 e pdo
* [[PostgreSQL]] con driver postsgre e pdo
Riga 49 ⟶ 46:
* [[ODBC]] con driver odbc e pdo
 
Non dispone di un motore di templating integrato, sebbene la scrittura del codice dei file [[PHP]] di template possa essere semplificato dall'uso di librerie di funzioni integrate che generano direttamente codice [[HTML5|HTML]]. Inoltre, grazie al vasto gruppo di utenti e librerie di terze parti può essere interfacciato con motori di templating per PHP esterni, come per esempio i popolari [[Smarty PHP]]<ref>{{Cita web|url=http://www.coolphptools.com/codeigniter-smarty|titolo=CodeIgniter + Smarty, Perfect Together}}</ref> e [[Twig]].
 
CodeIgniter prevede il caching sia delle pagine web generate, sia del database e meccanismi di protezione contro le minacce più comuni, come per esempio la [[SQL injection]], durante l'immissione di dati nei [[form]]<ref>{{Cita web|url=http://www.mindfiresolutions.com/blog/2018/03/pros-cons-codeigniter-framework/|titolo=Pros and Cons of CodeIgniter Framework|autore=Mindfire Solutions|sito=Blogs @ Mindfire Solutions|data=2018-03-22|lingua=en-US|accesso=2019-07-11}}</ref>.
 
Tra i punti considerabili deboli del framework versione 3.0, l'assenza dei [[namespace]] (che però consente di aumentare la velocità di esecuzione del codice e che sono previsti nella versione 4), una certa macchinosità nel test delle unit e un numero ridotto di librerie integrate<ref>{{Cita web|url=https://coderseye.com/best-php-frameworks-for-web-developers/|titolo=11 Best Frameworks Review|accesso=26 dicembre 2017|dataarchivio=26 dicembre 2017|urlarchivio=https://web.archive.org/web/20171226130252/https://coderseye.com/best-php-frameworks-for-web-developers/|urlmorto=sì}}</ref>. Quest'ultimo punto determina però il vantaggio delle ridotte dimensioni di installazione del [[Framework per applicazioni web|framework]], mentre i programmatori possono reperire librerie di terze parti con licenza [[open source]] e integrarle con poco sforzo, oppure svilupparne di proprie con relativa facilità data la struttura estendibile di CodeIgniter.
Riga 75 ⟶ 72:
La struttura di un sito sviluppato con Codeigniter 4 è stata modificata e ora è prevista una cartella ''public'' che rappresenta la root del sito web. Una scelta dettata principalmente da motivi di sicurezza, dato che in questo modo è possibile isolare e "nascondere" più facilmente agli utenti le cartelle ''system'' e ''application'' dove è contenuto il codice vero e proprio. Inoltre ora è prevista una cartella ''writable'' con permessi di scrittura preposta a conservare i file di lavoro generati dall'applicativo, per esempio la cache delle pagine, ma che non è accessibile tramite [[Uniform Resource Locator|URL]].
 
Codeigniter 4, come la precedente versione, rimane basato sul paradigma MVC (model-view-controller). Mentre le classi controller sono indispensabili al funzionamento del software sviluppato, le classi per definire modelli e view sono opzionali. Resta comunque possibile modificare autonomamente con alcuni accorgimenti il funzionamento del framework per adottare il paradigma HVMC (View-Model-Controller Gerarchico) in modo da gestire a gruppi modulari Controller, Modelli e View in subdirectory fisiche<ref>{{Cita web|url=https://imrecsige.dev/garden/creating-modular-hmvc-applications-with-codeigniter-4/|titolo=Creating modular HMVC applications with Codeigniter 4|autore=Imre Csige|sito=Imre Csige's Digital Garden|lingua=en|accesso=2022-01-05}}</ref><ref>{{Cita pubblicazione|nome=Mufid|cognome=Jamaluddin|data=2022-01-04|titolo=Codeigniter4-HMVC|accesso=2022-01-05|url=https://github.com/MufidJamaluddin/Codeigniter4-HMVC}}</ref>.
 
La gestione dei database è quasi identica, anche se sono cambiati alcuni dei connettori supportati e la sintassi dell'ORM. Il caricamento di librerie, modelli e altri oggetti è uguale a prima ma è possibile specificare nei file di configurazione, come nei file del codice, i percorsi di localizzazione in formato PSR4. Inoltre sono stati integrati in Codeigniter 4 nuovi strumenti di test e debug, come per esempio KINT<ref>{{Cita pubblicazione|data=2020-02-25|titolo=kint-php/kint|editore=kint-php|accesso=2020-02-25|url=https://github.com/kint-php/kint}}</ref>.
 
<br />
 
== Note ==
Riga 87 ⟶ 82:
== Collegamenti esterni ==
* {{cita web|https://www.codeigniter.com/|Sito web|lingua=en}}
*[https://forum.codeigniter.com/forum-28.html Forum sviluppatori Codeigniter]
 
{{PHP}}