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

CodeIgniter Views

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

CodeIgniter Views

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ó.

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