CodeIgniter-mappe-, fil- og katalogstruktur
⚡ Smart oppsummering
CodeIgniter organiserer et PHP-prosjekt i forutsigbare mapper for applikasjonslogikk, rammeverkssystemfiler, leverandørpakker for komponist og et enkelt oppføringsskript, slik at nybegynnere raskt kan finne kode og viderekomne utviklere kan skalere en ren MVC-struktur.
Forstå filstrukturen i CodeIgniter er viktig før du bygger en skikkelig applikasjon. En forutsigbar layout hjelper deg med å finne kontrollere, modeller og visninger raskt, feilsøke rutingsproblemer og onboarde nye teammedlemmer raskere. Denne veiledningen dekker den klassiske CodeIgniter 3-struktur som fortsatt er mye brukt, og som også tydeliggjør de viktigste forskjellene du vil støte på i CodeIgniter 4.x, som introduserer app/, public/ og writable/ som separate mapper på toppnivå.
Hva er CodeIgniter fil- og katalogstruktur?
Ocuco CodeIgniter-filstrukturen er standardarrangementet av mapper og PHP-filer som rammeverket leveres med etter at du har lastet det ned eller installert det. Den skiller applikasjonslogikken din fra rammeverkets kjerne, holder komponistavhengigheter isolert og eksponerer et enkelt inngangspunkt gjennom index.php. Følgende bilde viser filstrukturen i CodeTennapparat:
Her er et forenklet katalogtre for en fersk CodeInstallasjon av Igniter 3:
// CodeIgniter 3 root layout project-root/ ├── application/ ├── system/ ├── user_guide/ ├── vendor/ ├── composer.json ├── composer.lock └── index.php
Forklaring av mapper på toppnivå
La oss nå se på filene ovenfor CodeTennstruktur:
- søknad – dette er katalogen som skal inneholde applikasjonslogikken din. All applikasjonskoden din vil bli plassert i denne katalogen.
- system – denne mappen inneholder kjernefilene for rammeverket. Det anbefales ikke å gjøre endringer i denne katalogen eller legge inn din egen applikasjonskode i denne katalogen.
- brukerveiledning – denne katalogen inneholder brukermanualen for CodeTenner.
- leverandør – denne katalogen inneholder kildekoden til composer-pakkene. De andre filene relatert til denne katalogen er composer.json og composer.lock.
- index.php – dette er inngangspunktet til søknaden.
CodeUnderkataloger for Igniter-applikasjonen
La oss nå se nærmere på katalogene. Som nevnt inneholder applikasjonskatalogen prosjektkoden din. I denne delen skal vi se på de interne underkatalogene i CodeIgniter-katalogstruktur:
- cache – lagrer mellomlagrede filer generert av utdata- og databasemellomlagringsbibliotekene.
- config – lagrer konfigurasjonsfiler som database.php, routes.php og autoload.php.
- kontrollere – alle applikasjonskontrollere er definert her og kartlagt URL segmenter til handlinger.
- kjerne – inneholder egendefinerte kjerneklasser som utvider systemfiler. Hvis du for eksempel oppretter en basiskontroller som andre kontrollere skal utvide, plasserer du den i denne katalogen.
- hjelpere – denne katalogen til CodeIgniter-mappestrukturen brukes for brukerdefinerte hjelpefunksjoner.
- kroker – brukes for tilpassede kroker i CI-mappestrukturen som utløses under rammeverkets utførelsessyklus.
- Språk – brukes til å lagre språkfiler for applikasjoner som bruker mer enn ett språk.
- bibliotekene – brukes til å lagre spesiallagde biblioteker.
- logger – applikasjonsloggfiler oppbevares i denne katalogen.
- modeller – alle applikasjonsmodeller skal defineres i denne katalogen.
- tredjepart – dette brukes for tilpassede pakker som du eller andre utviklere har laget.
- visninger – applikasjonsvisninger går inn i denne katalogen.
Her er et eksempel på et underkatalogtre for applikasjonen:
// application/ subdirectories application/ ├── cache/ ├── config/ ├── controllers/ ├── core/ ├── helpers/ ├── hooks/ ├── language/ ├── libraries/ ├── logs/ ├── models/ ├── third_party/ └── views/
CodeUnderkataloger for Igniter-systemet
La oss nå se på systemunderkataloger i CI-filstrukturen. Husk at det er her rammeverkets kildekode ligger, så ikke gjør noen endringer i filene i denne katalogen.
- kjerne – dette er som hjertet av CodeIgniter FrameworkAlle kjernefilene som utgjør rammeverket ligger her. Hvis du vil utvide funksjonaliteten til kjernefilen, må du opprette en tilpasset kjernefil i programkatalogen. Etter det kan du overstyre eller legge til ny atferd du ønsker. Du bør aldri gjøre endringer direkte her.
- database – databasedrivere, hurtigbuffer og andre filer som trengs for databaseoperasjoner finnes her.
- fonter – som navnet antyder, inneholder denne katalogen fonter og informasjon om fonter.
- hjelpere – denne katalogen i CodeIgniter-strukturmappen inneholder hjelpefunksjoner som følger med ut av esken.
- Språk – inneholder språkfiler som brukes av rammeverket.
- bibliotekene – inneholder kildefilene for de ulike bibliotekene som følger med CodeTenneren rett ut av esken.
Systemmappeoppsettet ser slik ut:
// system/ subdirectories system/ ├── core/ ├── database/ ├── fonts/ ├── helpers/ ├── language/ └── libraries/
CodeIgniter brukerveiledning Katalog
Denne katalogen fungerer som en referanseguide når du vil forstå CodeIgniter API. Du bør ikke laste opp denne katalogen når du distribuerer applikasjonen din til produksjon, da den øker størrelsen og eksponerer dokumentasjon som ikke hører hjemme på en aktiv server.
CodeIgniter-leverandørkatalog
Denne katalogen inneholder kildefiler for pakker du installerer via composer. Filene i denne katalogen skal stå som de er, og ingen endringer skal gjøres i dem. I motsetning til user_guide-katalogen, skal denne katalogen lastes opp hvis du bruker composer-pakker i applikasjonen din.
index.php-fil
Index.php-filen i CodeIgniter-filstrukturen inneholder bootstrap-koden som definerer miljø, stier og feilrapportering før kontrollen overføres til rammeverket. Denne filen ligger i rotkatalogen og fungerer som frontkontroller for alle innkommende HTTP-forespørsler.
Hvordan CodeIgniter 4 endrer strukturen
CodeIgniter 4.x omorganiserte layouten for å forbedre sikkerheten og automatisk lasting av PSR-4. I stedet for én enkelt programmappe ser du nå tre mapper på toppnivå som skiller bekymringene strengere:
- app / – tilsvarende det eldre programmet/mappen, som inneholder kontrollere, modeller, visninger, konfigurasjon, filtre og biblioteker.
- offentlig/ – den eneste netteksponerte mappen, som inneholder index.php og CSS-, JS- og bilderessursene dine.
- skrivbar/ – lagrer hurtigbuffer, logger, økter og opplastinger som rammeverket må skrive under kjøretid.
- system/ – inneholder fortsatt rammeverkets kjerne, navneavgrenset under CodeTennapparat\.
- Leverandør/ – komponistpakker, identiske i rolle som CI 3.
// CodeIgniter 4 root layout project-root/ ├── app/ ├── public/ ├── writable/ ├── system/ ├── vendor/ ├── tests/ ├── composer.json ├── env └── spark
Hvis du starter et nytt prosjekt i dag, CodeIgniter 4 er den anbefalte versjonen. Hvis du vedlikeholder en eldre kodebase, vil CI 3-strukturen beskrevet ovenfor samsvare med det du ser på disken.
Arbeider med CodeTennstruktur Daglig
Når du vet hvor hver mappe ligger, blir vanlige oppgaver enkle. Opprett en ny kontroller under application/controllers/ (eller app/Controllers/ i CI 4), match den med en rute i config/routes.php, bygg en modell under models/, og gjengi utdata fra en view-fil i views/. Behold konfigurasjonen i config/, slipp gjenbrukbar kode i helpers/ eller libraries/, og la composer administrere alt inne i vendor/. Hold deg til denne disiplinen, så vil prosjektet ditt forbli enkelt å navigere selv etter hvert som det vokser.

