CodeIgniter-reitit: URL-reititys esimerkin avulla
Mitä CodeIgniter-reitit ovat?
Routes on vastuussa URL-pyyntöihin vastaamisesta. Reititys vastaa URL-osoitetta ennalta määritettyihin reitteihin. Jos reittiä ei löydy, CodeIgniter antaa poikkeuksen sivulle ei löytynyt.
CodeIgniterin reitit määritellään alla olevan kaavan avulla:
example.com/Controller/Method/Parameter/
TÄSSÄ,
- Ohjain - on yhdistetty ohjaimen nimeen, jonka pitäisi vastata URL-osoitteeseen.
- Method – on yhdistetty menetelmään ohjaimessa, jonka pitäisi vastata URI-pyyntöön.
- Parametri – tämä osio on valinnainen.
Esimerkki CodeIgniter Routes
Katsotaanpa nyt käytännöllistä URL-reititystä CodeIgniter esimerkki.
Harkitse seuraavaa URL-osoitetta http://localhost:3000/contacts/edit/1
TÄSSÄ,
- Yllä olevaan URL-osoitteeseen vastaavan ohjaimen nimi on "contacts"
- Ohjainluokan Yhteystiedot menetelmä on "muokkaa"
- Muokkausmenetelmä hyväksyy parametrin. Esimerkkimme tapauksessa arvo "1" välitetään menetelmälle.
Tässä lyhyt tausta siitä, mitä aiomme tehdä:
- Reititys – reititys vastaa URL-pyyntöihin vastaamisesta. CodeIgniter Routing sovittaa URL-osoitteet ennalta määritettyihin reitteihin. Jos reittiä ei löydy, CodeIgniter antaa sivua ei löydy -poikkeuksen.
- ohjaimet – reitit on linkitetty ohjaimiin. Ohjaimet liimaavat mallit ja näkymät yhteen. Tietopyyntö / liiketoimintalogiikka mallista ja tulosten palautus näkemysten esityksen kautta. Kun URL-osoite on kohdistettu CodeIgniterin reitille, se välitetään rekisterinpitäjän julkiseen toimintoon, joka on vuorovaikutuksessa tietolähteen ja liiketoimintalogiikan kanssa ja palauttaa tulokset näyttävän näkymän.
- Näyttökerrat – näkemykset vastaavat esittämisestä. Näkymä on yleensä yhdistelmä HTML-, CSS- ja JavaKäsikirjoitus. Tämä osa vastaa verkkosivun näyttämisestä käyttäjälle. Tyypillisesti näytettävät tiedot haetaan yleensä tietokannasta tai muista saatavilla olevista tietolähteistä.
Oppiaksemme ottamaan reitittimet käyttöön todellisessa projektissa oletamme, että olemme luomassa sovellusta yhteystietojen hallintaan. Seuraavassa taulukossa näkyvät URL-osoitteet, joita käytetään.
S / N | URL | Reitti | ohjain | Menetelmä |
---|---|---|---|---|
1 | / | $route['default_controller'] | Tervetuloa | indeksi |
2 | /yhteystiedot | $route['contacts'] | Yhteystiedot | indeksi |
3 | /contacts/create | $route['create'] | Yhteystiedot | luoda |
4 | /contacts/edit/id | $route['edit/:id'] | Yhteystiedot | muokata |
5 | /contacts/update/id | $route['päivitys/:id'] | Yhteystiedot | päivitys |
6 | /contacts/delete/id | $route['delete/:id'] | Yhteystiedot | poistaa |
Luomme sovelluksemme reitit yllä olevan taulukon perusteella. Olemme määrittäneet URL-osoitteet, CodeIgniter-reitin ja yhdistäneet ne vastaaviin ohjain- ja menetelmänimiin.
URL-reitityksen luominen sovellukselle
Luodaan CodeIgniter URL Routing opetusohjelmaprojektiamme varten
Avaa application/config/routes.php
Muokkaa reittejä vastaamaan seuraavia
$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;
TÄSSÄ,
- $route['default_controller'] = 'Tervetuloa'; määrittää oletusohjaimen Tervetuloa.
- $route['contacts'] = 'yhteystiedot'; määrittää yhteystietojen reitin, joka kutsuu yhteystietoohjaimen indeksimenetelmää
- $route['create'] = 'yhteystiedot/luo'; määrittää reitin luomisen, joka osoittaa Yhteystiedot-ohjaimeen ja kutsuu luomismenetelmän.
- $route['edit/:id'] = 'yhteystiedot/muokkaa'; määrittää reitin muokkauksen, joka hyväksyy id-parametrin ja osoittaa Yhteystiedot-ohjaimen muokkausmenetelmään
- $route['update/:id'] = 'yhteystiedot/päivitys'; määrittää reittipäivityksen, joka hyväksyy id-parametrin ja osoittaa Yhteystiedot-luokan päivitysmenetelmään.
- $route['delete/:id'] = 'yhteystiedot/poista'; määrittää reitin poiston, joka hyväksyy id-parametrin ja osoittaa Yhteystiedot-ohjaimen poistomenetelmään.
Seuraava taulukko näyttää vastaavat URL-osoitteet, jotka on johdettu yllä määritellyistä reiteistä
S / N | Reitti | Vastaava URL-osoite |
---|---|---|
1 | $route['default_controller'] = 'Tervetuloa'; | http://localhost:3000 |
2 | $route['contacts'] = 'yhteystiedot'; | http://localhost:3000/contacts |
3 | $route['create'] = 'yhteystiedot/luo'; | http://localhost:3000/contacts/create |
4 | $route['edit/:id'] = 'yhteystiedot/muokkaa'; | http://localhost:3000/contacts/edit/1 |
5 | $route['update/:id'] = 'yhteystiedot/päivitys'; | http://localhost:3000/contacts/update/1 |
6 | $route['delete/:id'] = 'yhteystiedot/poista'; | http://localhost:3000/contacts/delete/1 |
Nyt kun olemme käyneet läpi reitit, luodaan Yhteystiedot-ohjain, joka vastaa reiteillä määritettyihin toimiin.
Luo uusi reittitiedosto CodeIgniterissä nimellä Contacts.php tiedostossa application/controllers/Contacts.php
Lisää seuraava koodi
<?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'); } }
TÄSSÄ,
- Luokkayhteystiedot laajentaa CI_Controller {..} määrittää ohjainluokkamme ja laajentaa CodeIgniterin mukana tulevaa CI_Controller-luokkaa.
- Yllä määritellyt menetelmät vastaavat määrittelemiämme reittejä, ja ne, joilla on parametrit, kuten delete, hyväksyvät parametrin $id
- Huomaa, että funktiot lataavat kolme (3) näkymää. Ylä- ja alatunniste ovat yhteisiä kaikille menetelmille. Keskimmäinen näkymä on hyvin toimintokohtainen, eli poista poisto-funktiosta luo näkymä funktion luomista varten jne. Toinen tärkeä asia on muistaa, että näkymät ladataan yhteystiedot-alihakemistosta.
CodeIgniter-näkymät
Meidän on vielä otettava yksi askel ennen kuin voimme testata CodeIgniter-reittejämme parametreilla verkkoselaimessa. Luodaan vastaavat näkymät yllä oleviin ohjainmenetelmiin.
Seuraava kuva näyttää, miltä sovelluksesi näyttää
Luo seuraavat tiedostot sovelluksessa/näkymissä
header.php – this file will contain contacts app menu and the header footer.php – this files will contain the application footer.
Luo uusi yhteystietohakemisto sovelluksessa/views/contacts-näkymässä
Luo seuraavat tiedostot sisään
index.php create.php edit.php
Tiedostorakenteen tulee olla seuraava
Päivitetään nyt header.php
<!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>
TÄSSÄ,
- Yllä oleva HTML-koodi lataa Burman CSS:n CDN-verkosta.
Seuraava on footer.php:n koodi
</div> </div> </section> </body> </html>
Lisätään nyt yhteystietojen index.php-, edit.php- ja create.php-tiedostojen koodi.
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>
Voit tallentaa kaikki tehdyt muutokset.
Avaa seuraava URL-osoite verkkoselaimessa http://localhost:3000/contacts/
voit napsauttaa Uusi yhteystieto- ja Muokkaa yhteystieto -linkkejä ja katsoa mitä tapahtuu
Yhteenveto
- CI:n reitit vastaavat URL-pyyntöihin vastaamisesta. Reititys vastaa URL-osoitetta ennalta määritettyihin reitteihin. Jos CodeIgniter Route -vastaavuutta ei löydy, CodeIgniter heittää sivun ei löytynyt poikkeuksen.
- CI Routing vastaa URL-pyyntöihin vastaamisesta. Reititys vastaa URL-osoitetta ennalta määritettyihin reitteihin.
- Ohjaimet liimaavat mallit ja näkymät yhteen. Tietopyyntö / liiketoimintalogiikka mallista ja tulosten palautus näkemysten esityksen kautta.
- Näkymät ovat vastuussa esittelystä. Näkymä on yleensä yhdistelmä HTML-, CSS- ja JavaSkripti.
- Tässä opetusohjelmassa olemme oppineet luomaan reittejä CodeIgniterissä tosielämän esimerkkisovellukselle ja käsitelleet reitityksen perusteet, jotka sinun on tiedettävä CodeIgniterin kehittämisen aloittamiseksi.