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

Hozzon létre egy új CodeIgniter projektet

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

Hozzon létre egy új CodeIgniter projektet

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

CodeIgniter Routing

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

Hozzon létre egy nézetet a CodeIgniterben

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.