CodeŘídicí jednotky zapalovačů, zobrazení směrování: Učte se s ukázkovou aplikací
V tomto tutoriálu se naučíte následující témata.
- Směrování – směrování je zodpovědné za odpovídání na požadavky URL. Směrování porovnává URL s předdefinovanými trasami. Pokud není nalezena žádná shoda trasy, pak… CodeIgniter vyvolá výjimku „stránka nenalezena“.
- řadiče – trasy jsou propojeny s ovladači. Ovladače slepí modely a pohledy dohromady. Požadavek na data/obchodní logiku z modelu a vrácení výsledků v prezentaci pohledu. Jakmile je adresa URL přiřazena k trase, je předána veřejné funkci kontroléru. Tato funkce spolupracuje se zdrojem dat, obchodní logikou a vrací pohled, 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. Typicky jsou zobrazená data obvykle načtena z databáze nebo jiných dostupných zdrojů dat.
Jak vytvořit nový CodeProjekt zapalovače
K vytvoření nového projektu použijeme Composer. Budu používat PHP vestavěný server, takže není nutné mít extra software jako např Apache. V tomto tutoriálu používáme Windows operační systém. Proto jsme vytvořili složku Sites na jednotce C. Můžete použít libovolný adresář, který je pro vás vhodný.
Otevřete příkazový řádek/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
TADY,
- Výše uvedený příkaz vytvoří nový CodeProjekt Igniter verze 3 s použitím nejnovější stabilní verze, tj. 3.1.9, nainstalujte do adresáře ci-app.
Po dokončení výše uvedeného příkazu byste měli být schopni v terminálu získat výsledky podobné následujícím
Spuštěním následujícího příkazu přejděte do nově vytvořeného adresáře projektu ci-app
cd ci-app
Nyní spustíme vestavěný webový server PHP
php -S localhost:3000
TADY,
- Výše uvedený příkaz spustí vestavěný PHP server běžící na portu 3000.
Otevřete webový prohlížeč a procházejte následující URL: http://localhost:3000/
Získáte následující stránku
Pokud vidíte výše uvedenou stránku, gratulujeme, úspěšně jste nainstalovali CodeZapalovač.
Jak můžete vyčíst z výše uvedené webové stránky, výše zobrazená stránka je vykreslena pohledem umístěným v application/views/welcome_message.php a odpovědný kontrolor se nachází v application/controllers/Welcome.php
CodeSměrování zapalovače
Naše aplikace má prozatím pouze jednu adresu URL, která je domovskou stránkou. V této sekci přizpůsobíme domovskou sekci. Vytvoříme několik nových adres URL, které budou reagovat na různé požadavky.
Začněme trasou domovské stránky
Otevřete soubor tras, jak ukazuje cesta níže
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;
TADY,
- $route['default_controller'] = 'vítejte'; definuje výchozí řadič, který odpovídá na požadavky URI
- $route['404_override'] = ”; tato trasa 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 to přejete, můžete si definovat vlastní.
- $route['translate_uri_dashes'] = FALSE; tato možnost umožňuje přeložit pomlčky na podtržítka. O této možnosti si povíme, až se podíváme na to, jak fungují trasy v CodeZapalovač.
Podívejme se nyní na metodu ovladače zodpovědnou za zobrazení domovské stránky, kterou jsme viděli, když jsme otevřeli URL http://localhost:3000/ ve webovém prohlížeči.
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');
}
}
TADY,
- Definováno ('BASEPATH') NEBO 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. Nezapomeňte, že v paradigmatu MVC mají všechny požadavky jeden vstupní bod a pro CodeIgniter, jeho index.php. Tento kód blokuje všechny požadavky, které nepřicházejí přes index.php.
- třída Welcome rozšiřuje CI_Controller {…} definuje třídu Welcome, která rozšiřuje nadřazenou třídu CI_Controller
- public function index() definuje veřejnou funkci, která se standardně volá při otevření domovské stránky
- $this->load->view('welcome_message'); tento řádek načte zobrazení welcome_message. Soubor welcome_message se nachází v adresáři application/views/welcome_message.php
Zatím jsme prozkoumali pouze to, co je součástí balení. CodeIgnitere, zkusme teď provést nějaké změny. Vytvoříme si domovskou stránku a nahradíme výchozí stránku.
Vytvořte nový soubor v application/views/home.php
Přidejte následující kód do home.php
<!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>
TADY,
Výše uvedený HTML kód načte rámec Burma SSS a font ze sítě CDN vytvoří velmi základní HTML dokument. Aplikuje velmi jednoduché CSS pravidlo z barmského CSS frameworku.
Otevřete ve svém prohlížeči následující adresu URL: http://localhost:3000/
Měli byste vidět následující
Skvělé, právě jsme úspěšně upravili domovskou stránku. Jdeme dál, pojďme definovat naši trasu. Předpokládejme, že naše aplikace musí být také schopna zobrazit stránku o nás.
Vytvořte trasu
Otevřete soubor tras application/config.routes.php
Přidejte následující trasu
$route['about-us'] = 'welcome/about_us';
TADY,
- Když návštěvník navštíví URL /o-nás, instruujeme ho CodeZapalovač pro hledání kontroléru Welcome a spuštění metody about_us.
Vytvořte ovladač
Pojďme si nyní definovat metodu ovladače o nás
Otevřete application/controllers/Welcome.php
Přidejte následující metodu
public function about_us(){
$this->load->view('about_us');
}
TADY,
- Výše uvedený kód definuje funkci about_us a načte pohled about_us.
Vytvořte pohled
Pojďme nyní vytvořit pohled, na který jsme právě odkazovali ve výše uvedené části
Vytvořte nový soubor about_us.php v application/views/about_us.php
Přidejte 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>
Jsme připraveni, otevřete si ve svém webovém prohlížeči následující URL: http://localhost:3000/index.php/about-us
Uvidíte následující stránku
Pokud vidíte výše uvedenou stránku, gratulujeme, úspěšně jste vytvořili jednoduchou aplikaci v CodeZapalovač.
Shrnutí
V tomto tutoriálu jsme se zabývali třemi (3) hlavními komponentami, které tvoří CodeAplikace Igniter. Podívali jsme se na trasy a jejich definování, na kontrolery a na vytváření metod reagujících na požadavky na trasy a vytvořili jsme jednoduché pohledy (views), které se vracejí uživatelům, když si vyžádají zdroj.




