CodeGyújtóvezérlők, Nézetek Útválasztás: Tanulás példával

⚡ Okos összefoglaló

Ez a CodeAz Igniter példa egy kis alkalmazást épít, amely bemutatja, hogyan működnek együtt az útvonalak, a vezérlők és a nézetek. Egy új projekt jön létre a Composerrel, útvonaltérkép. URLs vezérlő metódusokhoz, és minden metódus betölt egy nézetet, amely HTML-t ad vissza a böngészőnek.

  • 🧭 Útvonalválasztás: Útvonalak egyeznek a következővel: URL egy vezérlő metódushoz, és egy páratlan URL „az oldal nem található” hibát okoz.
  • 🎛️ vezérlők: Egy vezérlő metódus válaszol egy útvonalra, adatokat kér le, és visszaad egy nézetet.
  • 🖼️ Megtekintések: Egy nézet ötvözi a HTML-t, a CSS-t és a JavaSzkript az eredmény felhasználónak történő megjelenítéséhez.
  • 📦 Projekt beállítása: A Composer létrehozza a projektet, és a beépített PHP szerver lokálisan futtatja azt.
  • 🏠 Alapértelmezett útvonal: A default_controller a kezdőlapot, a 404_override pedig egy egyéni hibaoldalt állít be.
  • Egyéni útvonal: Egy olyan útvonal, mint az about-us, a Welcome vezérlő about_us metódusához kapcsolódik.
  • 🔁 Teljes áramlás: URL a vezérlőhöz irányítva megtekintéshez, majd HTML-ben vissza a böngészőnek.

CodeGyújtóvezérlők és nézetek

Ebben az oktatóanyagban a következő témákat fogod megtanulni:

  • útvonalválasztás – az útvonalválasztás felelős a válaszadásért URL kérések. Az útvonalválasztás megegyezik a URL az előre meghatározott útvonalakra. Ha nem található egyező útvonal, CodeAz Igniter „page-not-found” kivételt dob.
  • Vezérlők – az útvonalak vezérlőkhöz kapcsolódnak. A vezérlők összekapcsolják a modelleket és a nézeteket. Adatokat és üzleti logikát kérnek le a modelltől, és az eredményeket a nézet megjelenítésében adják vissza. Miután egy URL Miután a paraméter egy útvonalhoz lett illesztve, továbbításra kerül egy vezérlő nyilvános függvényéhez. Ez a függvény interakcióba lép az adatforrással és az üzleti logikával, és visszaadja az eredményeket megjelenítő nézetet.
  • Nézetek – a nézetek felelősek a bemutatásért. A nézet általában HTML, CSS és JavaSzkript. Ez a rész felelős a weboldal megjelenítéséért a felhasználó számára. A megjelenített adatokat jellemzően az adatbázisból vagy más elérhető adatforrásból kérik le.

Hogyan hozzunk létre újat CodeGyújtóprojekt

A Composert fogjuk használni egy új projekt létrehozásához. A PHP beépített szerverét fogjuk használni, így nincs szükség extra szoftverre, mint például ApacheEbben az oktatóanyagban a következőt használjuk: Windows operációs rendszer, ezért létrehoztunk egy Sites mappát a C meghajtón. Bármelyik Önnek megfelelő könyvtárat használhatja.

Nyisd meg a parancssort vagy a terminált, és futtasd a következő parancsot:

cd C:\Sites

Most létrehozunk egy CodeIgniter projekt Composerrel. Futtassa a következő parancsot:

composer create-project CodeIgniter/framework ci-app

Itt:

  • A fenti parancs létrehoz egy új CodeAz Igniter projekt 3-as verzióját, a legújabb stabil kiadással (az írás idején a 3.1.9) egy ci-app nevű könyvtárba kell másolnunk.

Amikor a parancs futása befejeződött, a terminálban az alábbihoz hasonló eredményeket kell látnia:

Egy új zeneszerző alkot CodeGyújtó projekt

Futtassa a következő parancsot az újonnan létrehozott ci-app projektkönyvtár megkereséséhez:

cd ci-app

Most indítsd el a PHP beépített webszerverét:

php -S localhost:3000

Itt:

  • A fenti parancs elindítja a beépített PHP szervert a 3000-es porton.

Nyissa meg a webböngészőt, és keresse meg a következőt URL: http://localhost:3000/A következő oldalt fogja látni:

CodeIgniter alapértelmezett üdvözlőoldal

Ha látod a fenti oldalt, gratulálunk, sikeresen telepítetted CodeGyújtóAz oldalt az application/views/welcome_message.php fájlban található nézet jeleníti meg, a felelős vezérlő pedig az application/controllers/Welcome.php fájlban található.

CodeGyújtóútvonal-választás

Egyelőre az alkalmazásunk csak egyetlen URL, ami a kezdőlap. Ebben a részben testreszabjuk a kezdőlapot, és létrehozunk néhány újat URLamelyek különböző kérésekre reagálnak.

Kezdjük a kezdőlap útvonalával. Nyissuk meg az útvonalfájlt az alábbi elérési úton:

application/config/routes.php

A következő tartalmat kell látnod:

$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

Itt:

  • $route['default_controller'] = 'welcome'; meghatározza az URI kérésekre válaszoló alapértelmezett vezérlőt.
  • $route['404_override'] = ”; lehetővé teszi egyéni útvonal meghatározását a 404-es hibákhoz. 404-es hiba akkor fordul elő, ha egy oldal nem található. CodeAz Igniternek van egy alapértelmezett kezelője a hibához, de tetszés szerint meghatározhatsz sajátot.
  • $route['translate_uri_dashes'] = FALSE; lehetővé teszi a kötőjelek aláhúzásjelekké alakítását. Ezt a beállítást akkor tárgyaljuk, amikor az útvonalak működését vizsgáljuk meg. CodeGyújtó.

Most nézzük meg azt a vezérlő metódust, amely a megnyitáskor látott kezdőlap megjelenítéséért felelős. http://localhost:3000/Nyissa meg a következő fájlt:

application/controllers/Welcome.php

A következő kódot kell látnia:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

public function index()
{
$this->load->view('welcome_message');
}
}

Itt:

  • defined('BASEPATH') VAGY exit('Nincs közvetlen szkripthozzáférés'); véd a vezérlőosztály közvetlen elérése ellen az index.php fájlon keresztül. Az MVC paradigmában minden kérésnek egyetlen belépési pontja van, amely például CodeAz Igniter az index.php. Ez a kód blokkolja az összes olyan kérést, amely nem az index.php-n keresztül érkezik.
  • A Welcome osztály kiterjeszti a CI_Controllert {…} definiál egy Welcome osztályt, amely kiterjeszti a CI_Controller szülőosztályt.
  • A public function index() egy nyilvános függvényt definiál, amely alapértelmezés szerint meghívódik, amikor megnyitjuk a kezdőlapot.
  • Betölti a welcome_message nézetet, amely az application/views/welcome_message.php fájlban található.

Eddig csak azt vizsgáltuk, ami a dobozból kikerül. CodeIgniter. Most végezzünk el néhány változtatást. Létrehozzuk a saját kezdőlapunkat, és lecseréljük az alapértelmezett oldalt. Hozz létre egy új fájlt az application/views/home.php címen, és add hozzá a következő kódot:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Hello CodeIgniter!</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css">
<script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js"></script>
</head>
<body>
<section class="section">
<div class="container">
<h1 class="title">
CodeIgniter Hello World
</h1>
</div>
</section>
</body>
</html>

Itt: A fenti HTML-kód betölti a Bulma CSS keretrendszert és a Font Awesome-ot egy CDN-ből, és létrehoz egy nagyon alapvető HTML-dokumentumot. Egy egyszerű CSS-szabályt alkalmaz a Bulma CSS keretrendszerből.

Nyissa meg a következőt URL a böngésződben: http://localhost:3000/A következőket kell látnia:

szokás CodeIgniter honlapja

Remek, sikeresen módosítottuk a kezdőlapot. Továbblépve, határozzuk meg az útvonalunkat. Tegyük fel, hogy az alkalmazásunknak egy „Rólunk” oldalt is meg kell jelenítenie.

Hozzon létre egy útvonalat

Nyisd meg az application/config/routes.php útvonalfájlt, és add hozzá a következő útvonalat:

$route['about-us'] = 'welcome/about_us';

Itt:

  • Amikor egy látogató meglátogatja a URL /rólunk, utasítjuk CodeA gyújtó vezérlőt keresi: Üdvözöljük, és futtassa az about_us metódust.

Hozzon létre egy vezérlőt

Most definiáljuk az about_us vezérlő metódust. Nyissuk meg az application/controllers/Welcome.php fájlt, és adjuk hozzá a következő metódust:

public function about_us(){
$this->load->view('about_us');
}

Itt:

  • A fenti kód definiál egy about_us függvényt és betölt egy about_us nézetet.

Nézet létrehozása

Hozzuk létre most az imént említett nézetet. Hozzunk létre egy új about_us.php fájlt az application/views/about_us.php könyvtárban, és adjuk hozzá a következő kódot:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>About CodeIgniter!</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css">
<script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js"></script>
</head>
<body>
<section class="section">
<div class="container">
<h1 class="title">
About us yap...
</h1>
</div>
</section>
</body>
</html>

Indulhatunk. Nyisd meg a következőt URL a webböngésződben: http://localhost:3000/index.php/about-usA következő oldalt fogja látni:

CodeIgniter rólunk oldal

Ha látod a fenti oldalt, gratulálunk, sikeresen létrehoztál egy egyszerű alkalmazást CodeGyújtó.

GYIK

Egy útvonalbejegyzés leképez egy URL szegmens egy vezérlőhöz és metódushoz, például a „welcome/about_us”-hoz. Amikor ez URL kérik, CodeAz Igniter lefuttatja a named metódust, amely betölti és visszaadja a nézetet.

Beállítja a webhely gyökerét kezelő vezérlőt, ha nincs megadva URL adott. A példában a „welcome” azt jelenti, hogy a kezdőlapot a Welcome vezérlő index metódusa szolgálja ki.

Nem. A beépített PHP szerver, amelyet a php -S localhost:3000 paranccsal indítunk el, elegendő a példa helyi futtatásához. Az Apache vagy az Nginx csak éles környezetben szükséges.

Igen. Egy oldal leírásából a mesterséges intelligencia képes megírni az útvonalbejegyzést, a vezérlő metódust és egy megfelelő nézetet, keeping a nevek következetesek. Ellenőrizd az elérési utakat a sajátoddal CodeGyújtós változat.

Ez a példa a következőt használja: CodeIgniter 3, amely a vezérlőket és nézeteket az application/ alatt tárolja. CodeAz Igniter 4 átszervezte a könyvtárakat és a névtereket, így az elérési utak és a szintaxis eltér az újabb projektekben.

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