CodeIgniter
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 2. maj 2020; checks kræver
7 redigeringer .
CodeIgniter er en populær open source MVC - ramme skrevet i PHP - programmeringssproget til udvikling af komplette websystemer og applikationer. Udviklet af EllisLab, samt Rick Ellis og Paul Burdick.
Den gamle version af CodeIgniter (CodeIgniter 2.x), ligesom tidligere versioner, distribueres under en proprietær Apache / BSD -licens , men den nuværende gren af CodeIgniter 4 er blevet genlicenseret under MIT [3] .
Historie
Den første offentlige udgivelse af rammen fandt sted den 28. februar 2006. Med udgivelsen af version 2.0 den 28. januar 2011 blev CodeIgniter opdelt i to grene:
- CodeIgniter Core er en gren, der fokuserer på stabilitet, og derfor udvikler sig langsomt. Denne version af rammeværket er kernen i det populære CMS ExpressionEngine 2.0.
- CodeIgniter Reactor er en gren udviklet af fællesskabet. Denne filial udvikler sig hurtigt og indeholder de nyeste funktioner.
Den 9. juli 2013 postede udviklerfirmaet et indlæg på sin blog om at finde en ny ejer til EllisLab Searching New Owner for CodeIgniter framework .
Den 6. oktober 2014 annoncerede EllisLab, at CodeIgniter ville fortsætte sin udvikling under ledelse af British Columbia Institute of Technology .
Den 30. marts 2015 blev CodeIgniter 3.0.0 frigivet
Versionsændringer:
- Rammen er frigivet under MIT-licensen.
- Databasedrivere havde en enorm refaktorering
- PDO er fuldt funktionsdygtig med underdrivere
- Der er et nyt sessionsbibliotek
- Et nyt krypteringsbibliotek er dukket op
- Testenheden har været underbemandet, og kodedækningen er blevet forbedret
- PHP 5.4 eller nyere anbefales at køre, men Codeigniter vil stadig køre på PHP 5.2.4
Den 8. oktober 2015 blev CodeIgniter 3.0.2 udgivet
Den 31. oktober 2015 blev CodeIgniter 2.2.6 frigivet og en sikkerhedsudgivelse til 2.x-versioner.
Versionsændringer:
- Rettede XSS-sårbarheder i xss_clean()-metodens sikkerhedsbibliotek.
- Ændrede base_url() bibliotekets konfigurationsmetode tilbage til $_SERVER['server_addr'] for at undgå indsprøjtning af værtsheader.
- Ændrede CAPTCHA-hjælperen.
Dette er den sidste planlagte opdatering til CodeIgniter 2x, der har nået slutningen af levetiden.
Den 1. november 2015 blev CodeIgniter 3.0.3 udgivet med patches og nogle mindre detaljer. Denne version anbefales til alle brugere af version 3x.
Funktioner
- CodeIgniter er kendetegnet ved enkelhed [4] , som opnås på grund af følgende faktorer:
- Højkvalitets og komplet dokumentation med eksempler, samt et stort fællesskab og Wiki [4] [5]
- Mange videotutorials, der kan findes både på den officielle hjemmeside og på tredjepartsressourcer [6] [7] [8] [9]
- Rammen giver frihed til programmøren uden at skabe strukturelle begrænsninger og konventioner
- Programmøren behøver ikke at lære at bruge kodegeneratorer fra kommandolinjen
- CodeIgniter kører på næsten enhver hostingplan , der understøtter PHP version 5.1 og nyere.
- CodeIgniter anses for at være en af de hurtigste og letteste rammer [5] [10]
Funktioner
- Understøttelse af MySQL , PostgreSQL , MSSQL , SQLite , Oracle- databaser .
- Understøttelse af pseudo - ActiveRecord , som for det meste gentager syntaksen for SQL -sproget
- Systemet kan nemt udvides på grund af muligheden for at bruge tredjeparts- og selvskrevne biblioteker, samt tilføje eller omdefinere eksisterende.
- Understøttelse af både segmenterede NC'er og almindelige URL'er med parameteroverførsel.
- Rammen indeholder mange nødvendige biblioteker, der skaber funktionalitet til at arbejde med filer, sende e-mails, validere formularer, understøtte sessioner, arbejde med billeder og så videre.
- Det har evnen til at cache SQL-forespørgsler og genererede html-sider på serversiden . Siden version 2.0 kan XCache eller APC bruges til caching .
- I 2011 dukkede en pakkehåndtering op kaldet Sparks , som gør det nemt at installere tredjepartsbiblioteker ved hjælp af kommandolinjen.
- I 2011 dukkede en tilføjelse op, der gør det muligt at understøtte migreringer .
- Modularity support (HMVC) via tilføjelser
- Som standard bruger CodeIgniter ikke skabelonmotorer, men det er muligt at bruge sin egen eller en af de alternative skabelonmotorer ( Smarty , TinyButStrong [11] ).
Kodeeksempler
Aktiv post
Vælg alle fra tabel
$this -> db -> get ( 'table_name' );
SQL- ækvivalent :
VÆLG * FRA ` tabelnavn` _
Eksempel med JOIN og LIMIT =
offentlig funktion getData ( $id = 0 , $offset = 0 , $limit = 30 ) {
$result = $this -> db -> vælg ( 'tabel1.id, tabel2.navn' )
-> fra ( 'tabel1' )
-> join ( 'table2' , 'table2.id=table1.id' , 'venstre' );
if ( $id )
returner $result -> where ( 'table1.id' , ( int ) $id ) -> limit ( 1 ) -> get () -> row ();
ellers
returner $result -> limit ( $limit , $offset ) -> get () -> result ();
}
Scenarie 1 (når $id = 0):
Data: $id = 0, $offset= 10, $limit = 30
Output SQL:
VÆLG tabel1 . id , tabel2 . navn
FRA tabel1
VENSTRE JOIN tabel2 PÅ tabel2 . id = tabel1 . id
LIMIT 10 , 30
Funktionen returnerer en række objekter. (db->resultat())
Scenarie 2 ($id er ikke-nul):
Data: $id = 5, $offset = 0, $limit = 30
Output SQL:
VÆLG tabel1 . id , tabel2 . navn
FRA tabel1
VENSTRE JOIN tabel2 PÅ tabel2 . id = tabel1 . id
WHERE tabel1 . id = 5
LIMIT 1
Funktionen returnerer ét objekt ( db->row())
Kritik af rammerne
Indflydelse af CodeIgniter
CodeIgniter har fungeret som grundlag for rammer som Kohana og Rain Framework, mange CodeIgniter-ideer anvendes i Fuel PHP [12] og CodeLighter [13] rammerne .
Kohana-rammen var oprindeligt en forgrening af CodeIgniter og blev skabt med det mål at drage fuld fordel af PHP5 og samtidig bibeholde enkelheden og høj ydeevne af CodeIgniter. Det adskilte sig fra CodeIgniter ved manglen på PHP4- understøttelse og tilstedeværelsen af nogle ekstra biblioteker (ORM, Auth og andre). Hvis 2.x-versionerne af Kohana stadig lignede CodeIgniter noget, så har de moderne versioner (3.x) faktisk intet at gøre med det, bortset fra historien.
Mange CMS er baseret på CodeIgniter : Fuel CMS [14] , MaxSite CMS [15] , Cogear [16] , ImageCMS og andre.
Links
Projekter udført på CodeIgniter
tranquillpoet.com (engelsk) - IDE for digtere, kilder tilgængelige på GitHub
Se også
Noter
- ↑ CodeIgniter-licensaftale . Hentet 4. august 2012. Arkiveret fra originalen 31. juli 2012. (ubestemt)
- ↑ Codeigniter Open Source-projektet på Open Hub: Languages-side - 2006.
- ↑ CodeIgniter/license.rst ved udvikle bcit-ci/CodeIgniter GitHub
- ↑ 1 2 CodeIgniter vs. CakePHP (utilgængeligt link) . Arkiveret fra originalen den 29. februar 2012. (ubestemt) (Russisk)
- ↑ 1 2 CodeIgniter vs Symfony (downlink) . Arkiveret fra originalen den 29. februar 2012. (ubestemt) (Engelsk)
- ↑ CodeIgniter Video Tutorials (downlink) . Arkiveret fra originalen den 29. februar 2012. (ubestemt) (Engelsk)
- ↑ CodeIgniter-videotutorials efter fællesskab (downlink) . Arkiveret fra originalen den 29. februar 2012. (ubestemt) (Engelsk)
- ↑ CodeIgniter From Scratch (downlink) . Arkiveret fra originalen den 29. februar 2012. (ubestemt) (Engelsk)
- ↑ Nem udvikling med CodeIgniter (downlink) . Arkiveret fra originalen den 29. februar 2012. (ubestemt) (Engelsk)
- ↑ Benchmark-opdatering: Cake vs. CodeIgniter vs. Kohana (downlink) . Pr0digy.com (3. september 2008). Dato for adgang: 24. juli 2009. Arkiveret fra originalen 29. februar 2012. (ubestemt) (Engelsk)
- ↑ TinyButStrong Template Engine Arkiveret 10. marts 2010.
- ↑ FUEL - En enkel, fleksibel, fællesskabsdrevet PHP5.3-ramme . Hentet 12. juli 2011. Arkiveret fra originalen 11. juli 2011. (ubestemt)
- ↑ codelighter Arkiveret 17. juni 2009 på Wayback Machine Codeigniter lyset! Enkel, lille og let php5-kodetænder-lignende ramme
- ↑ FUEL CMS: A Rapid Development CodeIgniter CMS . Hentet 12. juli 2011. Arkiveret fra originalen 9. juli 2011. (ubestemt)
- ↑ Officiel hjemmeside for Maxsite CMS. Gratis indholdsstyringssystem. . Hentet 6. maj 2022. Arkiveret fra originalen 16. april 2014. (ubestemt)
- ↑ cogear - indholdsstyringssystem, gratis cms til socialt netværk Arkiveret 25. april 2016.