21 prosince, 2021

statické stránky¶

Poznámka: Tento výukový program předpokládá, že jste si stáhli CodeIgniter a nainstalovali rámec v prostředí yourdevelopment.

první věc, kterou budete dělat, je nastavit ovladač pro handlestatic stránky. Řadič je prostě třída, která pomáhá delegovat work.It je lepidlem vaší webové aplikace.

například při volání na:

můžeme si představit, že existuje řadič s názvem „novinky“. Metoda nazvaná zprávy by byla „nejnovější“. Úkolem zpravodajské metody by mohlo být 10 novinových položek a jejich vykreslení na stránce. Velmi často v MVC, uvidíte vzory URL, které odpovídají:

jak se schémata URL stávají složitějšími, může se to změnit. Ale prozatím je to vše, co potřebujeme vědět.

Vytvořte soubor Na application / controllers / Pages.php s následujícímkód.

<?phpclass Pages extends CI_Controller { public function view($page = 'home') { }}

vytvořili jste třídu s názvem Pages, s metodou view, která akceptujejeden argument s názvem $page. Třída Pages rozšiřuje tříduCI_Controller. To znamená, že třída new pages může přistupovat k metodám a proměnným definovaným ve třídě CI_Controller (system/core/Controller.Linux).

regulátor se stane centrem každého požadavku na Vaši webovou aplikaci. Ve velmi technických diskusích o Kodeigniteru se možná označuje jako super objekt. Jako každá třída php, odkazujete na to ve svých řadičích jako $this. Odkaz na $this je způsob, jakým načtete knihovny, pohledy a obecně ovládáte rámec.

Nyní jste vytvořili svou první metodu, je čas vytvořit některé základní pagetemplates. Vytvoříme dva “ pohledy „(šablony stránek), které fungují jako zápatí a záhlaví stránky.

Vytvořte hlavičku na application / views/templates / header.php a přidatnásledující kód:

<html> <head> <title>CodeIgniter Tutorial</title> </head> <body> <h1><?php echo $title; ?></h1>

hlavička obsahuje základní HTML kód, který budete chtít zobrazitpřed načtením hlavního zobrazení spolu s nadpisem. Bude také možné zadat proměnnou $title, kterou definujeme později v řadiči.Nyní vytvořte zápatí v aplikaci / pohledy/šablony / zápatí.php obsahuje následující kód:

 <em>&copy; 2015</em> </body></html>

přidání logiky do řadiče¶

dříve nastavíte řadič metodou view(). Metodapřijímá jeden parametr, což je název stránky, která má být načtena. Šablony statických stránek budou umístěny v adresáři application/views/pages/.

v tomto adresáři vytvořte dva soubory s názvem home.php a asi.Linux.Do těchto souborů zadejte nějaký text-cokoli chcete – a uložte je.Pokud chcete být obzvláště neoriginální, zkuste “ Hello World!“.

Chcete-li tyto stránky načíst, musíte zkontrolovat, zda requestedpage skutečně existuje:

public function view($page = 'home'){ if ( ! file_exists(APPPATH.'views/pages/'.$page.'.php')) { // Whoops, we don't have a page for that! show_404(); } $data = ucfirst($page); // Capitalize the first letter $this->load->view('templates/header', $data); $this->load->view('pages/'.$page, $data); $this->load->view('templates/footer', $data);}

Nyní, když stránka existuje, je načtena, včetně záhlaví afooter a zobrazí se uživateli. Pokud stránka neexistuje, zobrazí se chyba“ 404Page not found“.

první řádek v této metodě kontroluje, zda stránka skutečně existuje.Nativní funkce PHP file_exists() se používá ke kontrole, zda je soubor tam, kde se očekává. show_404() je vestavěná funkce Codeigniterfunkce, která vykresluje výchozí chybovou stránku.

v šabloně záhlaví byla pro přizpůsobení názvu stránky použita proměnná $title. V této metodě je definována hodnota názvu, ale místo přiřazení hodnoty proměnné je přiřazena k prvku názvu v poli $data.

poslední věc, kterou je třeba udělat, je načtení pohledů do objednávkyměly by být zobrazeny. Druhý parametr v metodě view() jepoužívá se k předávání hodnot do zobrazení. Každá hodnota v poli $data jepřiřazeno proměnné s názvem jejího klíče. Takže hodnota$data v řadiči je ekvivalentní $title v zobrazení.

směrování¶

regulátor nyní funguje! Chcete-li zobrazit stránku, přejděte prohlížečem naindex.php/pages/view. Při návštěvěindex.php/pages/view/about uvidíte stránku o aplikaci, opět včetně záhlaví a zápatí.

pomocí vlastních pravidel směrování máte možnost mapovat jakékoli URI na anycontroller a metodu a osvobodit se od běžné konvence:http://example.com///

pojďme na to. Otevřete směrovací soubor umístěný na adreseapplication / config / routes.php a přidejte následující dva řádky.Odstraňte všechny ostatní kódy, které nastavují libovolný prvek v poli $route.

$route = 'pages/view';$route = 'pages/view/';

CodeIgniter přečte svá směrovací pravidla shora dolů a trasy tam navazují na první odpovídající pravidlo. Každé pravidlo je regulární výraz (levá strana) mapovaný na řadič a název metody oddělený lomítky (pravá strana). Když přijde požadavek, CodeIgniter vyhledá první shodu a zavolá příslušný řadič a metodu, případně witharguments.

více informací o směrování naleznete v URI Routingdocumentation.

zde se druhé pravidlo v poli $route shoduje s libovolným požadavkempomocí zástupného řetězce (:any). a předá parametr metoděview() třídy Pages.

nyní navštivte index.php/about. Bylo správně směrováno na metodu view()v řadiči stránek? Úžasné!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.