CodeŘídicí jednotky zapalovačů, směrování zobrazení: Učení s příkladem
⚡ Chytré shrnutí
Toto CodePříklad Igniteru vytváří malou aplikaci, která ukazuje, jak routing, controllery a views spolupracují. Nový projekt je vytvořen pomocí Composeru, mapování routes. URLs do metod kontroleru a každá metoda načte zobrazení, které vrátí HTML do prohlížeče.

V tomto tutoriálu se naučíte následující témata:
- Směrování – směrování je zodpovědné za reakci na URL požadavky. Směrování odpovídá URL k předdefinovaným trasám. Pokud není nalezena žádná shoda trasy, CodeIgniter vyvolá výjimku „stránka nenalezena“.
- řadiče – trasy jsou propojeny s kontroléry. Kontroléry propojují modely a pohledy dohromady. Vyžadují data a obchodní logiku z modelu a vracejí výsledky v prezentaci pohledu. Jakmile je URL Pokud je přiřazena trase, je přeposlána veřejné funkci kontroleru. Tato funkce interaguje se zdrojem dat a obchodní logikou a vrací zobrazení, které zobrazuje výsledky.
- Zobrazení – za prezentaci odpovídají pohledy. Zobrazení je obvykle kombinací HTML, CSS a JavaSkript. Tato část je zodpovědná za zobrazení webové stránky uživateli. Zobrazená data se obvykle načítají z databáze nebo jiného dostupného zdroje dat.
Jak vytvořit nový CodeProjekt zapalovače
K vytvoření nového projektu použijeme Composer. Použijeme vestavěný server PHP, takže není nutné mít další software, jako například ApacheV tomto tutoriálu použijeme Windows operační systém, takže jsme na disku C vytvořili složku Sites. Můžete použít libovolný adresář, který vám vyhovuje.
Otevřete příkazový řádek nebo terminál a spusťte následující příkaz:
cd C:\Sites
Nyní vytvoříme CodeProjekt Igniter pomocí Composeru. Spusťte následující příkaz:
composer create-project CodeIgniter/framework ci-app
Zde:
- Výše uvedený příkaz vytvoří nový CodeProjekt Igniter verze 3 s použitím nejnovější stabilní verze (3.1.9 v době psaní tohoto textu) nainstalujte do adresáře s názvem ci-app.
Po dokončení spuštění příkazu byste v terminálu měli vidět výsledky podobné následujícím:
Spusťte následující příkaz pro přechod do nově vytvořeného adresáře projektu ci-app:
cd ci-app
Nyní spusťte vestavěný webový server PHP:
php -S localhost:3000
Zde:
- Výše uvedený příkaz spustí vestavěný PHP server běžící na portu 3000.
Otevřete webový prohlížeč a přejděte na následující URL: http://localhost:3000/Zobrazí se vám následující stránka:
Pokud vidíte výše uvedenou stránku, gratulujeme, úspěšně jste nainstalovali. CodeZapalovačStránka je vykreslována zobrazením umístěným v souboru application/views/welcome_message.php a zodpovědný kontroler se nachází v souboru application/controllers/Welcome.php.
CodeSměrování zapalovače
Prozatím má naše aplikace pouze jeden URL, což je domovská stránka. V této části si upravíme domovskou sekci a vytvoříme nové URLkteré reagují na různé požadavky.
Začněme s trasou domovské stránky. Otevřete soubor tras na níže uvedené cestě:
application/config/routes.php
Měli byste vidět následující obsah:
$route['default_controller'] = 'welcome'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE;
Zde:
- $route['default_controller'] = 'welcome'; definuje výchozí kontroler, který reaguje na požadavky URI.
- $route['404_override'] = ”; umožňuje definovat vlastní trasu pro chyby 404. K chybě 404 dochází, když není nalezena stránka. CodeIgniter má pro chybu výchozí obslužnou rutinu, ale pokud si přejete, můžete si definovat vlastní.
- $route['translate_uri_dashes'] = FALSE; umožňuje přeložit pomlčky na podtržítka. Tuto možnost probereme, až se podíváme na to, jak fungují trasy v CodeZapalovač.
Podívejme se nyní na metodu kontroleru, která je zodpovědná za zobrazení domovské stránky, kterou jsme viděli při otevření. http://localhost:3000/Otevřete následující soubor:
application/controllers/Welcome.php
Měli byste vidět následující kód:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } }
Zde:
- defined('BASEPATH') OR exit('Přímý přístup ke skriptu není povolen'); chrání před přímým přístupem k třídě kontroleru bez nutnosti procházet souborem index.php. V paradigmatu MVC mají všechny požadavky jeden vstupní bod, který pro CodeIgniter je index.php. Tento kód blokuje všechny požadavky, které nepřicházejí přes index.php.
- Třída Welcome extends CI_Controller {…} definuje třídu Welcome, která rozšiřuje nadřazenou třídu CI_Controller.
- Veřejná funkce index() definuje veřejnou funkci, která se volá standardně při otevření domovské stránky.
- $this->load->view('welcome_message'); načte zobrazení welcome_message, které se nachází v souboru application/views/welcome_message.php.
Zatím jsme prozkoumali pouze to, co je součástí balení. CodeZapalovač. Nyní provedeme několik změn. Vytvoříme si vlastní domovskou stránku a nahradíme výchozí stránku. Vytvořte nový soubor na adrese application/views/home.php a přidejte do něj následující kód:
<!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>
Zde: Výše uvedený HTML kód načte CSS framework Bulma a Font Awesome z CDN a vytvoří velmi základní HTML dokument. Aplikuje jednoduché CSS pravidlo z CSS frameworku Bulma.
Otevřete následující URL ve vašem prohlížeči: http://localhost:3000/Měli byste vidět následující:
Skvělé, úspěšně jsme upravili domovskou stránku. Pojďme dále definovat naši trasu. Předpokládejme, že naše aplikace potřebuje také zobrazit stránku „O nás“.
Vytvořte trasu
Otevřete soubor tras application/config/routes.php a přidejte následující trasu:
$route['about-us'] = 'welcome/about_us';
Zde:
- Když návštěvník navštíví URL /o-nás, školíme CodeZapalovač pro hledání kontroléru Welcome a spuštění metody about_us.
Vytvořte ovladač
Nyní si definujme metodu kontroleru about_us. Otevřete soubor application/controllers/Welcome.php a přidejte následující metodu:
public function about_us(){
$this->load->view('about_us');
}
Zde:
- Výše uvedený kód definuje funkci about_us a načítá pohled about_us.
Vytvořte pohled
Nyní si vytvořme zobrazení, na které jsme právě odkazovali. Vytvořte nový soubor about_us.php v souboru application/views/about_us.php a přidejte do něj následující kód:
<!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>
Můžeme začít. Otevřete následující. URL ve vašem webovém prohlížeči: http://localhost:3000/index.php/about-usZobrazí se vám následující stránka:
Pokud vidíte výše uvedenou stránku, gratulujeme, úspěšně jste vytvořili jednoduchou aplikaci v CodeZapalovač.




