CodeIgniter
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 2 mai 2020; verificările necesită
7 modificări .
CodeIgniter este un cadru MVC cu sursă deschisă popular , scris în limbajul de programare PHP pentru dezvoltarea sistemelor și aplicațiilor web complete. Dezvoltat de EllisLab , precum și Rick Ellis și Paul Burdick.
Versiunea veche a CodeIgniter (CodeIgniter 2.x), ca și versiunile anterioare, este distribuită sub o licență proprietară Apache / BSD , dar ramura actuală a CodeIgniter 4 a fost relicențiată sub MIT [3] .
Istorie
Prima lansare publică a cadrului a avut loc pe 28 februarie 2006. Odată cu lansarea versiunii 2.0 pe 28 ianuarie 2011, CodeIgniter s-a împărțit în două ramuri:
- CodeIgniter Core este o ramură care se concentrează pe stabilitate și, prin urmare, se dezvoltă lent. Această versiune a cadrului este nucleul popularului CMS ExpressionEngine 2.0.
- CodeIgniter Reactor este o ramură dezvoltată de comunitate. Această ramură se dezvoltă rapid și conține cele mai recente caracteristici.
Pe 9 iulie 2013, compania de dezvoltare a postat o postare pe blogul său despre găsirea unui nou proprietar pentru EllisLab Căutând un nou proprietar pentru cadrul CodeIgniter .
Pe 6 octombrie 2014, EllisLab a anunțat că CodeIgniter își va continua dezvoltarea sub conducerea Institutului de Tehnologie din Columbia Britanică .
La 30 martie 2015 a fost lansat CodeIgniter 3.0.0
Modificări ale versiunii:
- Cadrul este eliberat sub licența MIT.
- Driverele de baze de date au avut o refactorizare uriașă
- PDO este complet funcțional cu subdrivere
- Există o nouă bibliotecă de sesiuni
- A apărut o nouă bibliotecă de criptare
- Unitatea de testare a avut personal insuficient și acoperirea codului s-a îmbunătățit
- Se recomandă să ruleze PHP 5.4 sau o versiune ulterioară, dar Codeigniter va rula în continuare pe PHP 5.2.4
Pe 8 octombrie 2015 a fost lansat CodeIgniter 3.0.2
La 31 octombrie 2015, a fost lansat CodeIgniter 2.2.6 și o versiune de securitate pentru versiunile 2.x.
Modificări ale versiunii:
- S-au remediat vulnerabilitățile XSS din biblioteca de securitate a metodei xss_clean().
- Metoda de configurare a bibliotecii base_url() a fost schimbată înapoi la $_SERVER['server_addr'] pentru a evita injectarea antetului gazdei.
- S-a schimbat ajutorul CAPTCHA.
Aceasta este ultima actualizare planificată pentru CodeIgniter 2x care a ajuns la sfârșitul vieții.
La 1 noiembrie 2015, CodeIgniter 3.0.3 a fost lansat cu patch-uri și câteva detalii minore. Această versiune este recomandată tuturor utilizatorilor versiunii 3x.
Caracteristici
- CodeIgniter se distinge prin simplitate [4] , care se realizează datorită următorilor factori:
- Documentație completă și de înaltă calitate, cu exemple, precum și o comunitate mare și Wiki [4] [5]
- Multe tutoriale video care pot fi găsite atât pe site-ul oficial, cât și pe resurse de la terți [6] [7] [8] [9]
- Cadrul oferă programatorului libertate fără a crea restricții și convenții structurale
- Programatorul nu trebuie să învețe cum să folosească generatoarele de cod din linia de comandă
- CodeIgniter rulează pe aproape orice plan de găzduire care acceptă PHP versiunea 5.1 și o versiune ulterioară.
- CodeIgniter este considerat a fi unul dintre cele mai rapide și mai ușoare cadre [5] [10]
Caracteristici
- Suport pentru baze de date MySQL , PostgreSQL , MSSQL , SQLite , Oracle .
- Suport pentru pseudo - ActiveRecord , care în cea mai mare parte repetă sintaxa limbajului SQL
- Sistem ușor de extins datorită posibilității de a utiliza biblioteci terțe și auto-scrise, precum și adăugarea sau redefinirea celor existente.
- Suport atât pentru NC -uri segmentate, cât și pentru adrese URL obișnuite cu transmitere de parametri.
- Cadrul conține multe biblioteci necesare care creează funcționalități pentru lucrul cu fișiere, trimiterea de e-mailuri, validarea formularelor, susținerea sesiunilor, lucrul cu imagini și așa mai departe.
- Are capacitatea de a stoca în cache interogări SQL și pagini html generate pe partea serverului . Începând cu versiunea 2.0, XCache sau APC pot fi utilizate pentru stocarea în cache .
- În 2011, a apărut un manager de pachete numit Sparks , care facilitează instalarea bibliotecilor terță parte folosind linia de comandă.
- În 2011, a apărut un add-on care face posibilă susținerea migrațiilor .
- Suport de modularitate (HMVC) prin suplimente
- În mod implicit, CodeIgniter nu folosește motoare de șabloane, dar este posibil să folosească propriile motoare de șabloane sau unul dintre motoarele de șabloane alternative ( Smarty , TinyButStrong [11] ).
Exemple de cod
Înregistrare activă
Selectați totul din tabel
$this -> db -> get ( 'table_name' );
Echivalent SQL :
SELECTAȚI * FROM ` table_name` _
Exemplu cu JOIN și LIMIT =
funcția publică getData ( $id = 0 , $offset = 0 , $limită = 30 ) {
$rezultat = $this -> db -> select ( 'table1.id, table2.name' )
-> din ( 'table1' )
-> join ( 'table2' , 'table2.id=table1.id' , 'left' );
if ( $id )
returnează $rezultat -> unde ( 'tabel1.id' , ( int ) $id ) -> limită ( 1 ) -> get () -> rând ();
else
returnează $rezultat -> limită ( $limită , $offset ) -> get () -> rezultat ();
}
Scenariul 1 (când $id = 0):
Date: $id = 0, $offset= 10, $limit = 30
SQL de ieșire:
SELECTează tabelul 1 . id , tabelul 2 . nume
FROM table1
LEFT JOIN table2 ON table2 . id = tabelul 1 . ID
LIMITĂ 10 , 30
Funcția va returna o matrice de obiecte. (db->rezultat())
Scenariul 2 ($id este diferit de zero):
Date: $id = 5, $offset = 0, $limit = 30
SQL de ieșire:
SELECTează tabelul 1 . id , tabelul 2 . nume
FROM table1
LEFT JOIN table2 ON table2 . id = tabelul 1 . id
WHERE tabel1 . id = 5
LIMITĂ 1
Funcția va returna un obiect ( db->row())
Critica cadrului
- Uneori, CodeIgniter este criticat pentru arhitectura sa neobișnuită din punctul de vedere al designului orientat pe obiecte .
- Unii pasionați de CakePHP consideră că libertatea oferită programatorului în CodeIgniter încurajează un stil de codare neglijent.
- În ciuda faptului că acest cadru este folosit de mulți dezvoltatori profesioniști și studiouri web, mulți oameni cred că CodeIgniter este potrivit doar pentru începători.
Influența lui CodeIgniter
CodeIgniter a servit drept bază pentru cadre precum Kohana și Rain Framework, multe idei CodeIgniter sunt aplicate în cadrele Fuel PHP [12] și CodeLighter [13] .
Cadrul Kohana a fost inițial o furcă a CodeIgniter și a fost creat cu scopul de a profita la maximum de PHP5 , menținând în același timp simplitatea și performanța ridicată a CodeIgniter. Acesta diferă de CodeIgniter prin lipsa suportului PHP4 și prezența unor biblioteci suplimentare (ORM, Auth și altele). Dacă versiunile 2.x ale Kohana erau încă oarecum asemănătoare cu CodeIgniter, atunci versiunile moderne (3.x) nu au nicio legătură cu asta, cu excepția istoriei.
Multe CMS se bazează pe CodeIgniter : Fuel CMS [14] , MaxSite CMS [15] , Cogear [16] , ImageCMS și altele.
Link -uri
Proiecte realizate pe CodeIgniter
tranquillpoet.com (engleză) - IDE pentru poeți, surse disponibile pe GitHub
Vezi și
Note
- ↑ Acord de licență CodeIgniter . Preluat la 4 august 2012. Arhivat din original la 31 iulie 2012. (nedefinit)
- ↑ Proiectul codeigniter Open Source pe Open Hub: Pagina de limbi - 2006.
- ↑ CodeIgniter/license.rst la develop bcit-ci/CodeIgniter GitHub
- ↑ 1 2 CodeIgniter vs. CakePHP (link indisponibil) . Arhivat din original pe 29 februarie 2012. (nedefinit) (Rusă)
- ↑ 1 2 CodeIgniter vs Symfony (link în jos) . Arhivat din original pe 29 februarie 2012. (nedefinit) (Engleză)
- ↑ Tutoriale video CodeIgniter (link descendent) . Arhivat din original pe 29 februarie 2012. (nedefinit) (Engleză)
- ↑ Tutoriale video CodeIgniter după comunitate (downlink) . Arhivat din original pe 29 februarie 2012. (nedefinit) (Engleză)
- ↑ CodeIgniter From Scratch (link descendent) . Arhivat din original pe 29 februarie 2012. (nedefinit) (Engleză)
- ↑ Dezvoltare ușoară cu CodeIgniter (link în jos) . Arhivat din original pe 29 februarie 2012. (nedefinit) (Engleză)
- ↑ Actualizare benchmark: Cake vs. CodeIgniter vs. Kohana (link în jos) . Pr0digy.com (3 septembrie 2008). Data accesului: 24 iulie 2009. Arhivat din original la 29 februarie 2012. (nedefinit) (Engleză)
- ↑ TinyButStrong Template Engine Arhivat 10 martie 2010.
- ↑ FUEL - Un cadru PHP5.3 simplu, flexibil, condus de comunitate . Preluat la 12 iulie 2011. Arhivat din original la 11 iulie 2011. (nedefinit)
- ↑ codelighter Arhivat 17 iunie 2009 la Wayback Machine Codeigniter light! Cadru de tip codeigniter php5 simplu, mic și ușor
- ↑ FUEL CMS: A Rapid Development CodeIgniter CMS . Preluat la 12 iulie 2011. Arhivat din original la 9 iulie 2011. (nedefinit)
- ↑ Site-ul oficial al Maxsite CMS. Sistem gratuit de gestionare a conținutului. . Preluat la 6 mai 2022. Arhivat din original la 16 aprilie 2014. (nedefinit)
- ↑ cogear - sistem de management al conținutului, cms gratuit pentru rețeaua socială Arhivat 25 aprilie 2016.