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

Vytvoř nový CodeProjekt zapalovače

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

Vytvoř nový CodeProjekt zapalovače

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í

CodeSměrování zapalovače

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

Vytvořit zobrazení v CodeZapalovač

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.

Shrňte tento příspěvek takto: