CodeGyújtó útvonalak: URL Útválasztás példával
Mik CodeGyújtóútvonalak?
Az útvonalak felelősek a reagálá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, akkor CodeAz Igniter hibát jelez, mivel a lap nem található kivétel.
Útvonalak CodeA gyújtóforrásokat a következő képlettel definiáljuk:
example.com/Controller/Method/Parameter/
ITT,
- Vezérlő - a vezérlő nevéhez van rendelve, amelynek válaszolnia kell a következőre: URL.
- Method – arra a metódusra van leképezve a vezérlőben, amelynek válaszolnia kell az URI-kérésre.
- Paraméter – ez a szakasz nem kötelező.
CodeGyújtóútvonalak példája
Most nézzünk egy gyakorlati példát URL Útválasztás CodeGyújtó példa.
Tekintsük a következő URL http://localhost:3000/contacts/edit/1
ITT,
- A fenti kérdésre válaszoló adatkezelő neve URL a „kapcsolatok”
- A Contacts vezérlőosztály metódusa az „edit”
- A szerkesztési módszer elfogad egy paramétert. Példánkban az „1” értéket adjuk át a metódusnak.
Íme egy rövid előzmény, hogy mit tervezünk:
- útvonalválasztás – az útvonalválasztás felelős a válaszadásért URL kérelmeket. CodeA gyújtóútvonal megegyezik a következővel: URL az előre meghatározott útvonalakhoz. Ha nem található útvonalegyezés, akkor CodeAz Igniter „az oldal nem található” 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. Adatok/üzleti logika lekérése a modelltől, és az eredmények visszaadása nézetek megjelenítésén keresztül. Miután egy URL egy útvonalhoz lett illesztve itt: CodeAz Igniter egy vezérlő nyilvános függvényéhez továbbítódik, amely interakcióba lép az adatforrással, 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 JavaForgatókönyv. Ez az a rész, amely felelős a weboldal megjelenítéséért a felhasználó számára. A megjelenített adatok általában az adatbázisból vagy bármely más elérhető adatforrásból származnak.
Ahhoz, hogy megtanuljuk, hogyan implementálhatunk útválasztókat egy valós projektben, feltételezzük, hogy egy alkalmazást hozunk létre a kapcsolattartási adatok kezelésére. A következő táblázat a következőket mutatja: URLamelyekkel együtt fog működni.
| S / N | URL | Útvonal | ellenőr | Módszer |
|---|---|---|---|---|
| 1 | / | $route['default_controller'] | Onboarding, integráció | index |
| 2 | /kapcsolatok | $route['contacts'] | Kapcsolatok | index |
| 3 | /contacts/create | $route['létrehozás'] | Kapcsolatok | teremt |
| 4 | /contacts/edit/id | $route['edit/:id'] | Kapcsolatok | szerkesztés |
| 5 | /contacts/update/id | $route['frissítés/:id'] | Kapcsolatok | frissítés |
| 6 | /contacts/delete/id | $route['delete/:id'] | Kapcsolatok | töröl |
Az alkalmazásunk útvonalait a fenti táblázat alapján fogjuk létrehozni. Definiáltuk a URLs, CodeIgniter útvonalat, és leképezte őket a megfelelő vezérlő- és metódusnevekhez.
létrehozása URL Útválasztás az alkalmazáshoz
Alkossunk CodeGyújtó URL Útvonaltervezés a bemutató projektünkhöz
Nyissa meg az application/config/routes.php fájlt
Módosítsa az útvonalakat az alábbiak szerint
$route['default_controller'] = 'welcome'; $route['contacts'] = 'contacts'; $route['create'] = 'contacts/create'; $route['edit/:id'] = 'contacts/edit'; $route['update/:id'] = 'contacts/update'; $route['delete/:id'] = 'contacts/delete'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE;
ITT,
- $route['default_controller'] = 'üdvözöljük'; Meghatározza az alapértelmezett vezérlőt Welcome.
- $route['contacts'] = 'kapcsolatok'; definiál egy kapcsolattartó útvonalat, amely meghívja az index metódust a Contacts vezérlőben
- $route['create'] = 'névjegyek/létrehozás'; meghatároz egy útvonal létrehozását, amely a Névjegyek vezérlőre mutat, és meghívja a Create metódust.
- $route['edit/:id'] = 'kapcsolatok/szerkesztés'; definiál egy útvonal-szerkesztést, amely elfogadja az id paramétert, és a Kapcsolatok vezérlő szerkesztési metódusára mutat
- $route['update/:id'] = 'kapcsolatok/frissítés'; definiál egy útvonalfrissítést, amely elfogadja az id paramétert, és a Contacts osztály frissítési metódusára mutat.
- $route['delete/:id'] = 'névjegyek/törlés'; definiál egy útvonaltörlést, amely elfogadja az id paramétert, és a Contacts vezérlő törlési metódusára mutat.
A következő táblázat a megfelelő URLa fent meghatározott útvonalakból származtatva
| S / N | Útvonal | Megfelelő URL |
|---|---|---|
| 1 | $route['default_controller'] = 'üdvözöljük'; | http://localhost:3000 |
| 2 | $route['contacts'] = 'kapcsolatok'; | http://localhost:3000/contacts |
| 3 | $route['create'] = 'névjegyek/létrehozás'; | http://localhost:3000/contacts/create |
| 4 | $route['edit/:id'] = 'kapcsolatok/szerkesztés'; | http://localhost:3000/contacts/edit/1 |
| 5 | $route['update/:id'] = 'kapcsolatok/frissítés'; | http://localhost:3000/contacts/update/1 |
| 6 | $route['delete/:id'] = 'névjegyek/törlés'; | http://localhost:3000/contacts/delete/1 |
Most, hogy áttekintettük az útvonalakat, hozzuk létre a Contacts vezérlőt, amely reagálni fog az útvonalakban megadott műveletekre.
Hozz létre egy új útvonalfájlt a CodeIgniter Contacts.php néven az application/controllers/Contacts.php fájlban
Adja hozzá a következő kódot
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Contacts extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->helper('url');
}
public function index() {
$this->load->view('header');
$this->load->view('contacts/index');
$this->load->view('footer');
}
public function create() {
$this->load->view('header');
$this->load->view('contacts/create');
$this->load->view('footer');
}
public function edit($id) {
$this->load->view('header');
$this->load->view('contacts/edit');
$this->load->view('footer');
}
public function update($id) {
$this->load->view('header');
$this->load->view('contacts/update');
$this->load->view('footer');
}
public function delete($id) {
$this->load->view('header');
$this->load->view('contacts/delete');
$this->load->view('footer');
}
}
ITT,
- A kontakt osztály kiterjeszti a CI_Controller {..} osztályt, amely meghatározza a vezérlő osztályunkat, és kiterjeszti a vele járó CI_Controller osztályt. CodeGyújtó.
- A fent definiált metódusok megfelelnek az általunk meghatározott útvonalaknak, és azok, amelyek olyan paraméterekkel rendelkeznek, mint a delete, elfogadják a $id paramétert
- Figyelje meg, hogy a függvények három (3) nézetet töltenek be. A fejléc és a lábléc minden módszernél közös. A középső nézet nagyon specifikus a műveletre, azaz a törlés a törlés funkcióhoz hozzon létre egy nézetet egy függvény létrehozásához stb. Egy másik fontos dolog, amit meg kell jegyezni, hogy a nézetek a kapcsolatok alkönyvtárból töltődnek be.
CodeIgniter Views
Még egy lépést kell tennünk, mielőtt tesztelhetnénk a sajátunkat CodeParaméterekkel rendelkező gyújtóútvonalak a webböngészőben. Hozzunk létre megfelelő nézeteket a fenti vezérlőmetódusokhoz.
A következő képen látható, hogyan fog kinézni az alkalmazás
Hozza létre a következő fájlokat az alkalmazásban/nézetekben
header.php – this file will contain contacts app menu and the header footer.php – this files will contain the application footer.
Hozzon létre egy új névjegykönyvtárat a view application/views/contacts mappában
Hozza létre a következő fájlokat belül
index.php create.php edit.php
A fájl szerkezetének a következőnek kell lennie
Most frissítsük a header.php-t
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>CodeIgniter Routes</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">CI Contacts v1</h1>
<h2 class="subtitle">CodeIgniter contacts management app</h2>
<div class="columns">
<div class="column is-one-quarter">
<aside class="menu">
<p class="menu-label">
General
</p>
<ul class="menu-list">
<li><a class="is-active" href="#">Dashboard</a></li>
<li><a href="<?=site_url('contacts/create')?>">New Contact</a></li>
<li><a href="<?=site_url('contacts/edit/1')?>">Edit Contacts</a></li>
</ul>
<p class="menu-label">
Settings
</p>
<ul class="menu-list">
<li><a href="#">SMS</a></li>
<li><a href="#">Email</a></li>
</ul>
</aside>
</div>
ITT,
- A fenti HTML kód betölti a Burma CSS-t egy CDN hálózatból.
A következő a lábléc.php kódja
</div>
</div>
</section>
</body>
</html>
Adjuk hozzá az index.php, edit.php és create.php fájlok kódját a névjegyekhez.
index.php <div class="column">Index content goes here...</div> edit.php <div class="column">Edit content goes here...</div> create.php <div class="column">Create content goes here...</div>
Az összes végrehajtott módosítást elmentheti.
Nyissa meg a következőt URL a böngészőjében http://localhost:3000/contacts/
rákattinthat az Új névjegy és a Kapcsolat szerkesztése hivatkozásokra, és megnézheti, mi történik
Összegzésként
- A CI útvonalai felelősek a válaszadásért URL kérések. Az útvonalválasztás megegyezik a URL az előre meghatározott útvonalakra. Ha nem CodeA gyújtóútvonal egyezését akkor találjuk meg, CodeAz Igniter hibát jelez, mivel a lap nem található kivétel.
- A CI Routing felelős a válaszadásért URL kérések. Az útvonalválasztás megegyezik a URL az előre meghatározott útvonalakra.
- A vezérlők összeragasztják a modelleket és a nézeteket. Adatkérés / üzleti logika a modellből és az eredmények visszaadása a nézetek prezentációján keresztül.
- A nézetek felelősek a bemutatásért. A nézet általában HTML, CSS és JavaForgatókönyv.
- Ebben az oktatóanyagban megtanultuk, hogyan hozhatunk létre útvonalakat a CodeIgniter egy valós példaalkalmazáshoz, és áttekintette az útvonalválasztás alapjait, amelyeket ismernie kell a fejlesztés megkezdéséhezping CodeGyújtó.


