CodeIgniter mappa-, fájl- és könyvtárszerkezet

⚡ Okos összefoglaló

CodeAz Igniter egy PHP projektet kiszámítható mappákba rendez az alkalmazáslogika, a keretrendszer-fájlok, a zeneszerzői csomagok és egyetlen bejegyzést tartalmazó szkript számára, így a kezdők gyorsan megtalálhatják a kódot, a középhaladó fejlesztők pedig egy letisztult MVC struktúrát skálázhatnak.

  • 📁 Alkalmazás mappa: Tárolja a vezérlőket, modelleket, nézeteket, konfigurációt, gyorsítótárat, segítőket, hookokat, nyelvet, könyvtárakat, naplókat és harmadik féltől származó csomagokat.
  • 🧩 Rendszermappa: A keretrendszer magját, az adatbázis-illesztőprogramokat, a betűtípusokat, a segédprogramokat, a nyelvet és a beépített könyvtárakat tárolja; ezeket a fájlokat ne szerkessze közvetlenül.
  • 🇧🇷 Belépési pont: A gyökér index.php fájl indítja el a keretrendszert, beállítja az útvonalakat, és minden HTTP kérést a front controlleren keresztül irányít át.
  • Verzióbeli különbségek: CodeAz Igniter 3 az application/ és system/ könyvtárakat használja, míg CodeAz Igniter 4 bevezeti az app/, public/ és writable/ mappákat a szigorúbb elkülönítés érdekében.
  • 🧪 Gyártói és felhasználói_útmutató: A gyártó tárolja a telepített zeneszerzői csomagokat, míg a felhasználói útmutató a helyi dokumentáció, amelyet ki kell zárni az éles szerverekről.

CodeGyújtó mappa

A fájlszerkezet megértése CodeAz Igniter elengedhetetlen bármilyen valódi alkalmazás létrehozása előtt. A kiszámítható elrendezés segít gyorsan megtalálni a vezérlőket, modelleket és nézeteket, hibakeresni az útvonalproblémákat, és gyorsabban beilleszteni az új csapattagokat. Ez az oktatóanyag a klasszikus... CodeAz Igniter 3 struktúrája, amelyet még mindig széles körben alkalmaznak, és tisztázza a legfontosabb különbségeket is, amelyekkel találkozni fogsz CodeAz Igniter 4.x verziója, amely bemutatja az app/, public/ és writable/ mappákat különálló legfelső szintű mappákként.

Mi a CodeIgniter fájl- és könyvtárszerkezet?

Az CodeAz Igniter fájlszerkezete a mappák és PHP fájlok alapértelmezett elrendezése, amelyet a keretrendszer a letöltés vagy telepítés után tartalmaz. Ez elválasztja az alkalmazás logikáját a keretrendszer magjától, elszigetelten tartja a zeneszerző függőségeit, és egyetlen belépési pontot tesz elérhetővé az index.php fájlon keresztül. A következő kép a fájlszerkezetet mutatja be: CodeGyújtó:

CodeIgniter fájl-/mappa-/könyvtárszerkezet
CodeIgniter fájl-/mappa-/könyvtárszerkezet

Itt egy egyszerűsített könyvtárfa egy friss Code3. gyújtó telepítése:

// CodeIgniter 3 root layout
project-root/
├── application/
├── system/
├── user_guide/
├── vendor/
├── composer.json
├── composer.lock
└── index.php

Legfelső szintű mappák ismertetése

Most pedig nézzük meg a fenti fájlokat CodeGyújtó szerkezete:

  • alkalmazás – ez a könyvtár fogja tartalmazni az alkalmazás logikáját. Az összes alkalmazáskód ebben a könyvtárban lesz.
  • rendszer – ez a mappa tartalmazza a keretrendszer alapfájljait. Nem tanácsos változtatásokat végrehajtani ebben a könyvtárban, vagy saját alkalmazáskódot helyezni ebbe a könyvtárba.
  • használati útmutató – ez a könyvtár tartalmazza a felhasználói kézikönyvet CodeGyújtó.
  • eladó – ez a könyvtár a composer csomagok forráskódját tartalmazza. A könyvtárhoz kapcsolódó egyéb fájlok a composer.json és a composer.lock.
  • index.php – ez a belépési pont az alkalmazásba.

CodeIgniter alkalmazás alkönyvtárai

Most nézzük meg részletesebben a könyvtárakat. Ahogy említettük, az alkalmazáskönyvtár tartalmazza a projektkódot. Ebben a szakaszban a belső alkönyvtárakat fogjuk megvizsgálni a CodeIgniter könyvtárszerkezet:

  • cache – a kimeneti és az adatbázis gyorsítótárazási könyvtárai által generált gyorsítótárazott fájlokat tárolja.
  • config – megőrzi a konfigurációs fájlokat, például a database.php, routes.php és autoload.php.
  • vezérlők – az összes alkalmazásvezérlő itt van definiálva és leképezve URL szegmensekből műveletekké.
  • mag – olyan egyéni alaposztályokat tartalmaz, amelyek kiterjesztik a rendszerfájlokat. Például, ha létrehoz egy alapvezérlőt, amelyet más vezérlőknek ki kell terjeszteniük, akkor azt ebbe a könyvtárba kell helyeznie.
  • segítők – ez a címtár a CodeAz Igniter mappastruktúráját a felhasználó által definiált segédfüggvényekhez használják.
  • horgok – a CI mappastruktúrában található egyéni hookokhoz használatos, amelyek a keretrendszer végrehajtási ciklusa alatt aktiválódnak.
  • nyelv – nyelvi fájlok tárolására szolgál olyan alkalmazásokhoz, amelyek egynél több nyelvet használnak.
  • könyvtárak – egyénileg létrehozott könyvtárak tárolására szolgál.
  • naplók – az alkalmazás naplófájljai ebben a könyvtárban tárolódnak.
  • modellek – minden alkalmazásmodellt ebben a könyvtárban kell definiálni.
  • harmadik fél – ezt az Ön vagy más fejlesztők által létrehozott egyéni csomagokhoz használják.
  • nézetek – az alkalmazásnézetek ebbe a könyvtárba kerülnek.

Íme egy példa az alkalmazás alkönyvtárfájára:

// application/ subdirectories
application/
├── cache/
├── config/
├── controllers/
├── core/
├── helpers/
├── hooks/
├── language/
├── libraries/
├── logs/
├── models/
├── third_party/
└── views/

CodeGyújtórendszer alkönyvtárai

Most nézzük meg a CI fájlstruktúrájának rendszer alkönyvtárait. Ne feledjük, hogy itt található a keretrendszer forráskódja, ezért ne módosítsunk semmilyen fájlt ebben a könyvtárban.

  • mag – ez olyan, mint a szíve CodeIgniter keretrendszerA keretrendszert alkotó összes alapfájl itt található. Ha ki szeretnéd bővíteni az alapfájl funkcionalitását, akkor létre kell hoznod egy egyéni alapfájlt az alkalmazás könyvtárában. Ezután felülbírálhatod vagy hozzáadhatsz új viselkedést. Soha ne végezz módosításokat közvetlenül itt.
  • adatbázis – az adatbázis-illesztőprogramok, a gyorsítótár és az adatbázis-műveletekhez szükséges egyéb fájlok itt találhatók.
  • betűtípusok – ahogy a neve is sugallja, ez a könyvtár betűtípusokat és betűtípusokkal kapcsolatos információkat tartalmaz.
  • segítők – ez a könyvtár a CodeAz Igniter struktúra mappája a dobozból kivéve azonnal használható segédfüggvényeket tartalmazza.
  • nyelv – a keretrendszer által használt nyelvi fájlokat tartalmazza.
  • könyvtárak – tartalmazza a különféle, a programhoz tartozó könyvtárak forrásfájljait CodeGyújtó a dobozból kivéve.

A rendszermappa elrendezése így néz ki:

// system/ subdirectories
system/
├── core/
├── database/
├── fonts/
├── helpers/
├── language/
└── libraries/

CodeIgniter felhasználói_útmutató Könyvtár

Ez a címtár referenciaként szolgál, amikor meg szeretné érteni a CodeIgniter API. Ezt a könyvtárat nem szabad feltölteni az alkalmazás éles környezetben történő telepítésekor, mivel növeli a méretet, és olyan dokumentációt tesz elérhetővé, amelynek nincs helye egy éles szerveren.

CodeGyújtógyártói jegyzék

Ez a könyvtár a composer segítségével telepített csomagok forrásfájljait tartalmazza. A könyvtárban található fájlokat úgy kell hagyni, ahogy vannak, és nem szabad rajtuk változtatni. A user_guide könyvtárral ellentétben ezt a könyvtárat fel kell tölteni, ha composer csomagokat használsz az alkalmazásodban.

index.php fájl

Az index.php fájl a CodeAz Igniter fájlszerkezet tartalmazza a bootstrap kódot, amely meghatározza a környezetet, az elérési utakat és a hibajelentést, mielőtt átadná a vezérlést a keretrendszernek. Ez a fájl a gyökérkönyvtárban található, és minden bejövő HTTP kérés elsődleges vezérlőjeként működik.

Hogyan CodeAz Igniter 4 megváltoztatja a szerkezetet

CodeAz Igniter 4.x átszervezte az elrendezést a biztonság és a PSR-4 automatikus betöltésének javítása érdekében. Egyetlen alkalmazásmappa helyett most három legfelső szintű mappa látható, amelyek szigorúbban elkülönítik a feladatokat:

  • app / – egyenértékű a régebbi alkalmazással/mappával, amely a Vezérlőket, Modelleket, Nézeteket, Konfigurációt, Szűrőket és Könyvtárakat tartalmazza.
  • nyilvános/ – az egyetlen weben elérhető mappa, amely tartalmazza az index.php fájlt, valamint a CSS, JS és képi elemeket.
  • írható/ – tárolja a gyorsítótárat, naplókat, munkameneteket és feltöltéseket, amelyeket a keretrendszernek futásidejűleg kell írnia.
  • rendszer/ – továbbra is tartalmazza a keretrendszer magját, névtérrel alatta CodeGyújtó\.
  • eladó / – zeneszerző csomagok, szerepüket tekintve megegyeznek a CI 3-mal.
// CodeIgniter 4 root layout
project-root/
├── app/
├── public/
├── writable/
├── system/
├── vendor/
├── tests/
├── composer.json
├── env
└── spark

Ha ma új projektbe kezdesz, CodeAz Igniter 4 az ajánlott verzió. Ha régebbi kódbázist tartasz karban, a fent leírt CI 3 struktúra megegyezik a lemezen látottakkal.

Együttműködés a CodeGyújtószerkezet mindennapi használatra

Ha már tudod, hogy az egyes mappák hol találhatók, a gyakori feladatok egyszerűvé válnak. Hozz létre egy új vezérlőt az application/controllers/ (vagy CI 4-ben az app/Controllers/) alatt, párosítsd egy útvonallal a config/routes.php fájlban, építs egy modellt a models/ alatt, és rendereld a kimenetet egy view fájlból a views/ könyvtárban. Tartsd meg a konfigurációt a config/ könyvtárban, vidd az újrafelhasználható kódot a helpers/ vagy libraries/ könyvtárakba, és hagyd, hogy a composer kezeljen mindent a vendor/ könyvtáron belül. Ragaszkodj ehhez a fegyelemhez, és a projekted könnyen navigálható marad majd, még akkor is, ha növekszik.

GYIK

Az alkalmazásmappa tartalmazza a projektkódot, például a vezérlőket, modelleket és nézeteket, amelyeket szabadon szerkeszthetsz. A rendszermappa tartalmazza a keretrendszer magját, és soha ne módosítsd a fájljait, mert a keretrendszer frissítései felülírják azokat.

In CodeAz Igniter 4-ben az új vezérlőket az app/Controllers/ mappába helyezed el PSR-4 névterek használatával. A fájlnevet párosítsd az osztály nevével, majd regisztrálj egy útvonalat az app/Config/Routes.php fájlban, hogy a keretrendszer kéréseket küldhessen hozzá.

Nem. A user_guide mappa csak helyi dokumentáció. Zárja ki az éles telepítésekből, hogy csökkentse a lábnyomot, és elkerülje a keretrendszer referenciaanyagainak élő szerveren való közzétételét. Ezzel szemben a gyártói és rendszermappákat telepíteni kell.

Az index.php fájl az elsődleges vezérlő. Ez állítja be a környezetet, definiálja az elérési út állandókat, és betölti a keretrendszer bootstrap-jét, így minden bejövő kérés a következőn keresztül lesz továbbítva: CodeA vezérlők és nézetek elérése előtt gyújtsd meg a folyamatot.

Igen. Az olyan mesterséges intelligencia eszközök, mint a GitHub Copilot, a Cursor és a Claude, képesek a vezérlőket, modelleket és nézeteket a megfelelő mappákban elhelyezni, megmagyarázni az ismeretlen fájlokat, és megjelölni a rosszul elhelyezett osztályokat. Különösen hasznosak, ha váltunk a kettő között. Code3. gyújtó és CodeIgniter 4 elrendezések.

A mesterséges intelligencia asszisztensei elmagyarázzák, hogyan kezelik a vezérlők a kéréseket, hogyan kezelik a modellek az adatokat, és hogyan renderelik a nézetek a kimenetet, majd hogyan generálják a megfelelő fájlokat a megfelelő mappákban. Áttekinthetik a kódot, javaslatokat tehetnek a refaktorálásra, és megerősíthetik az MVC elkülönítését a valós idejű fejlesztés során. CodeIgniter projektek.

Foglald össze ezt a bejegyzést a következőképpen: