december 21, 2021

Static pages list

Bemærk: Denne vejledning forudsætter, at du har hentet CodeIgniter oginstalleret rammen i dit udviklingsmiljø.

den første ting du skal gøre er at oprette en controller til handlestatic pages. En controller er simpelthen en klasse, der hjælper delegere work.It er limen i din internetapplikation.

for eksempel, når der foretages et opkald til:

vi kan forestille os, at der er en controller med navnet “nyheder”. Metoden, der kaldes nyheder, ville være”seneste”. Nyhedsmetodens job kunne være atgrab 10 Nyheder, og gøre dem på siden. Meget ofte i MVC,vil du se URL mønstre, der matcher:

da URL-ordninger bliver mere komplekse, kan dette ændre sig. Men for nu er det alt, hvad vi skal vide.

Opret en fil på ansøgning/controllere / sider.php med følgendekode.

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

du har oprettet en klasse med navnet Pagesmed en visningsmetode, der acceptereret argument med navnet $page. Pages – klassen udviderCI_Controller – klassen. Dette betyder, at klassen nye sider kan få adgang tilmetoder og variabler defineret i klassen CI_Controller (system/core/Controller.php).

controlleren er, hvad der bliver centrum for enhver anmodning tildin internetapplikation. I meget tekniske CodeIgniter diskussioner, det måske benævnt super objekt. Som enhver php-klasse henviser du tildet inden for dine controllere som $this. Henvisning til $this er hvordandu vil indlæse biblioteker, visninger og generelt kommandere rammen.

nu har du oprettet din første metode, det er tid til at lave nogle grundlæggende pagetemplates. Vi opretter to “visninger” (sideskabeloner), der fungerer somvores sidefod og overskrift.

Opret overskriften på ansøgning/visninger/skabeloner / header.php og tilføjfølgende kode:

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

overskriften indeholder den grundlæggende HTML-kode, som du vil visefør du indlæser hovedvisningen sammen med en overskrift. Det vil ogsåoutput $title variablen, som vi definerer senere i controlleren.Opret nu en sidefod ved ansøgning/visninger/skabeloner / sidefod.php detindeholder følgende kode:

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

tilføjelse af logik til controlleren

tidligere har du oprettet en controller med en view() metode. Metodenaccepterer en parameter, som er navnet på den side, der skal indlæses. Thestatic sideskabeloner vil blive placeret i programmet/visninger/Sider/mappe.

i den mappe skal du oprette to filer med navnet home.php og ca.php.Inden for disse filer skal du skrive noget tekst − alt hvad du vil-og gemme dem.Hvis du kan lide at være særlig un-original, prøv ” Hej Verden!”.

for at indlæse disse sider skal du kontrollere, om den anmodede side faktisk eksisterer:

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);}

nu, når siden eksisterer, er den indlæst, herunder overskriften ogfooter, og vises til brugeren. Hvis siden ikke findes, vises en” 404page not found ” – fejl.

den første linje i denne metode kontrollerer, om siden faktisk eksisterer.PHP ‘ s native file_exists() funktion bruges til at kontrollere, om filen er, hvor den forventes at være. show_404() er en indbygget Kodeigniterfunktion, der gengiver standardfejlsiden.

i overskriftsskabelonen blev variablen $title brugt til at tilpasse sidetitel. Værdien af titel er defineret i denne metode, men i stedet fortildele værdien til en variabel, er den tildelt titelelementeti $data arrayet.

det sidste, der skal gøres, er at indlæse visningerne i ordrende skal vises. Den anden parameter i metoden view() erbruges til at overføre værdier til visningen. Hver værdi i $data arrayet ertildelt en variabel med navnet på dens nøgle. Så værdien af$data i controlleren svarer til $title ivisning.

Routing Krot

controlleren fungerer nu! Peg din bro. ser påindex.php/pages/view for at se din side. Når du besøgerindex.php/pages/view/about vil du se siden om, herunder igen sidehoved og sidefod.

ved hjælp af brugerdefinerede routingregler har du beføjelse til at kortlægge enhver URI til anycontroller og metode og bryde fri fra den normale konvention:http://example.com///

lad os gøre det. Åbn routingfilen placeret påapplikation/config / ruter.php og tilføj følgende to linjer.Fjern al anden kode, der angiver ethvert element i $route arrayet.

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

CodeIgniter læser sine routingregler fra top til bund og ruter deranmodning om den første matchende regel. Hver regel er et regulært udtryk(venstre side) kortlagt til en controller og metodenavn adskilt af skråstreger(højre side). Når en anmodning kommer ind, ser CodeIgniter efter firstmatch og kalder den relevante controller og metode, muligvis medargumenter.

flere oplysninger om routing kan findes i URI Routingdocumentation.

her matcher den anden regel i $route – arrayet enhver anmodning ved hjælp af jokertegnstrengen (:any). og overfører parameteren tilview() – metoden i Pages – klassen.

besøg nu index.php/about. Blev det dirigeret korrekt til view() – metoden i pages controller? Fedt!

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.