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>© 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é!