CodeIgniter vezérlők, Views Routing: Tanuljon a példaalkalmazással
Ebben az oktatóanyagban a következő témákat fogod megtanulni.
- útvonalválasztás – az útválasztás felelős az URL-kérések megválaszolásáért. Az útválasztás az URL-t az előre meghatározott útvonalakkal egyezteti. Ha nem található útvonal-egyezés, akkor a CodeIgniter egy oldalt nem talált kivételt dob.
- Vezérlők – az útvonalak vezérlőkkel vannak összekötve. A vezérlők összeragasztják a modelleket és a nézeteket. Az adatok/üzleti logika kérése a modelltől és az eredmények visszaadása a nézet megjelenítésében. Miután egy URL-címet egy útvonalhoz illesztettek, a rendszer továbbítja a vezérlő nyilvános funkciójához. Ez a funkció együttműködik 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.
Új CodeIgniter projekt létrehozása
A Composert használjuk egy új projekt létrehozásához. A PHP beépített szerverét fogom használni, így nem szükséges extra szoftver, mint pl Apache. Ebben az oktatóanyagban a Windows operációs rendszer. Ezért létrehoztunk egy Sites mappát a C meghajtón. Bármilyen könyvtárat használhat, amely megfelel Önnek.
Nyissa meg a parancssort/terminált, és futtassa a következő parancsot
cd C:\Sites
Most létrehozunk egy CodeIgniter projektet a Composer segítségével. Futtassa a következő parancsot
composer create-project CodeIgniter/framework ci-app
ITT,
- A fenti parancs egy új CodeIgniter projekt 3-as verzióját hoz létre a legfrissebb stabil kiadás, azaz a 3.1.9 használatával egy ci-app könyvtárba.
Amikor a fenti parancs lefutott, a terminálban a következőhöz hasonló eredményeket kell kapnia
Futtassa a következő parancsot az újonnan létrehozott projektkönyvtár ci-app tallózásához
cd ci-app
Most indítsuk el a PHP beépített webszervert
php -S localhost:3000
ITT,
- A fenti parancs elindítja a 3000-es porton futó beépített PHP szervert.
Nyissa meg a webböngészőt, és böngésszen a következő URL-címen: http://localhost:3000/
A következő oldalt fogod kapni
Ha látja a fenti oldalt, akkor gratulálunk, sikeresen telepítette CodeIgniter.
Amint az a fenti weboldalról olvasható, a fent megjelenített 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ó.
CodeIgniter Routing
Alkalmazásunknak egyelőre csak egyetlen URL-je van, amely a kezdőlap. Ebben a részben személyre szabjuk a kezdőlap részt. Létrehozunk néhány új URL-t, amelyek válaszolni fognak a különböző kérésekre.
Kezdjük a kezdőlap útvonalával
Nyissa meg az útvonalfájlt az alábbi elérési út szerint
application/config/routes.php
Látnia kell a következő tartalmat
$route['default_controller'] = 'welcome'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE;
ITT,
- $route['default_controller'] = 'üdvözöljük'; meghatározza az URI kérésekre válaszoló alapértelmezett vezérlőt
- $route['404_override'] = ”; ez az útvonal lehetővé teszi egyéni útvonal meghatározását a 404-es hibákhoz. 404-es hiba lép fel, ha egy oldal nem található. A CodeIgniternek van egy alapértelmezett kezelője a hibához, de ha kívánja, megadhatja a sajátját.
- $route['translate_uri_dashes'] = HAMIS; ez az opció lehetővé teszi a kötőjelek aláhúzásjelekké fordítását. Erről a lehetőségről akkor fogunk beszélni, amikor megnézzük, hogyan működnek az útvonalak a CodeIgniterben.
Nézzük most a kezdőlap megjelenítéséért felelős vezérlő módszert, amelyet az URL megnyitásakor láttunk http://localhost:3000/
a webböngészőben.
Nyissa meg a következő fájlt
application/controllers/Welcome.php
Látnia kell a következő kódot
<?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('Közvetlen szkript hozzáférés nem engedélyezett'); védi a vezérlőosztály közvetlen elérését anélkül, hogy áthaladna az index.php fájlon. Ne feledje, hogy az MVC paradigmában minden kérésnek egyetlen belépési pontja van, a CodeIgniter esetében pedig az index.php. Ez a kód blokkol minden olyan kérést, amely nem az index.php-n keresztül érkezik
- osztály Welcome kiterjeszti a CI_Controller {…} osztályt definiál, amely kiterjeszti a CI_Controller szülőosztályt
- A public function index() egy nyilvános függvényt határoz meg, amely alapértelmezés szerint a kezdőlap megnyitásakor kerül meghívásra
- $this->load->view('welcome_message'); ez a sor betölti a welcome_message nézetet. A welcome_message fájl az application/views/welcome_message.php könyvtárban található.
Eddig csak azt vizsgáltuk, hogy mi kerül ki a CodeIgniterből, most próbáljunk meg néhány változtatást végrehajtani. Létrehozzuk a kezdőlapunkat, és lecseréljük az alapértelmezett oldalt
Hozzon létre egy új fájlt az application/views/home.php fájlban
Adja hozzá a következő kódot a home.php fájlhoz
<!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 Burma SSS keretrendszert és a CDN hálózatból származó betűtípust, és egy nagyon egyszerű HTML dokumentumot hoz létre. Nagyon egyszerű CSS-szabályt alkalmaz a burmai CSS keretrendszerből.
Nyissa meg a következő URL-t a böngészőjében: http://localhost:3000/
A következőket kell látnia
Remek, sikeresen módosítottuk a kezdőlapot. Ha tovább haladunk, határozzuk meg az útvonalunkat. Tegyük fel, hogy az alkalmazásunknak képesnek kell lennie a rólunk oldal megjelenítésére is.
Hozzon létre egy útvonalat
Nyissa meg az application/config.routes.php útvonalfájlt
Adja hozzá a következő útvonalat
$route['about-us'] = 'welcome/about_us';
ITT,
- Amikor egy látogató meglátogatja a /about-us URL-t, arra utasítjuk a CodeIgnitert, hogy keressen egy vezérlőt, és hajtsa végre az about_us metódust.
Hozzon létre egy vezérlőt
Határozzuk meg most a vezérlő módszert rólunk
Nyissa meg az application/controllers/Welcome.php-t
Adja hozzá a következő módszert
public function about_us(){ $this->load->view('about_us'); }
ITT,
- A fenti kód egy about_us függvényt határoz meg, és egy about_us nézetet tölt be.
Nézet létrehozása
Most hozzuk létre azt a nézetet, amelyre a fenti részben hivatkoztunk
Hozzon létre egy új about_us.php fájlt az application/views/about_us.php fájlban
Adja 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>
Nyissa meg a következő URL-t a böngészőjében: http://localhost:3000/index.php/about-us
A következő oldalt fogja látni
Ha látja a fenti oldalt, akkor gratulálunk, sikeresen létrehozott egy egyszerű alkalmazást a CodeIgniterben.
Összegzésként
Ebben az oktatóanyagban három (3) fő összetevővel foglalkoztunk, amelyek egy CodeIgniter alkalmazást alkotnak. Megvizsgáltuk az útvonalakat és azok definiálását, a vezérlőket és az útvonalkérésekre válaszoló metódusok létrehozását, valamint egyszerű nézeteket hoztunk létre, amelyeket visszaküldenek a felhasználóknak, amikor erőforrást kérnek.