CodeTennkontrollere, visningsruting: Lær med eksempelappen

I denne opplæringen skal du lære følgende emner.

  • Routing – ruting er ansvarlig for å svare på URL-forespørsler. Ruting matcher URL-en med de forhåndsdefinerte rutene. Hvis ingen rutematch blir funnet, CodeIgniter genererer et unntak av typen «siden ikke funnet».
  • Controllers – ruter er knyttet til kontrollere. Kontrollere limer modellene og visningene sammen. Forespørsel om data/forretningslogikk fra modellen og returnere resultatene i presentasjonen av visningen. Når en URL har blitt matchet til en rute, videresendes den til en kontrollers offentlige funksjon. Denne funksjonen samhandler med datakilden, forretningslogikken og returnerer visningen som viser resultatene.
  • Visninger – synspunkter er ansvarlige for presentasjon. En visning er vanligvis en kombinasjon av HTML, CSS og JavaManus. Dette er den delen som er ansvarlig for å vise nettsiden til brukeren. Vanligvis hentes dataene som vises vanligvis fra databasen eller andre tilgjengelige datakilder.

Hvordan lage en ny CodeIgniter-prosjektet

Vi vil bruke Composer til å lage et nytt prosjekt. Jeg skal bruke PHP innebygd server, så det er ikke nødvendig å ha ekstra programvare som f.eks Apache. I denne opplæringen bruker vi Windows operativsystem. Derfor har vi opprettet en Sites-mappe på stasjon C. Du kan bruke hvilken som helst katalog som passer for deg.

Åpne kommandolinjen/terminalen og kjør følgende kommando

cd C:\Sites

Vi skal nå lage en CodeIgniter-prosjektet ved hjelp av Composer. Kjør følgende kommando.

composer create-project CodeIgniter/framework ci-app

HER,

  • Kommandoen ovenfor oppretter en ny CodeStart Igniter-prosjektversjon 3 med den nyeste stabile utgivelsen, dvs. 3.1.9, i en ci-app-mappe.

Når kommandoen ovenfor er fullført, bør du kunne oppnå resultater som ligner på følgende i terminalen

Lage en ny CodeIgniter-prosjektet

Kjør følgende kommando for å bla til den nyopprettede prosjektkatalogen ci-app

cd ci-app

La oss nå starte den innebygde PHP-nettserveren

 php -S localhost:3000

HER,

  • Kommandoen ovenfor starter den innebygde PHP-serveren som kjører på port 3000.

Åpne nettleseren og bla gjennom følgende URL: http://localhost:3000/

Du får opp følgende side

Lage en ny CodeIgniter-prosjektet

Hvis du kan se siden ovenfor, så gratulerer, du har installert CodeTenner.

Som du kan lese fra nettsiden ovenfor, er siden som vises ovenfor gjengitt av visningen som ligger i application/views/welcome_message.php og den ansvarlige kontrolleren er plassert i application/controllers/Welcome.php

CodeTennruting

Foreløpig har applikasjonen vår bare en enkelt URL som er hjemmesiden. I denne delen vil vi tilpasse hjemmedelen. Vi vil opprette noen nye nettadresser som vil svare på de forskjellige forespørslene.

La oss starte med startsideruten

Åpne rutefilen som angitt av stien nedenfor

application/config/routes.php

Du bør kunne se følgende innhold

$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

HER,

  • $route['default_controller'] = 'velkommen'; definerer standardkontrolleren som svarer på URI-forespørslene
  • $route['404_override'] = ”; denne ruten lar deg definere en tilpasset rute for 404-feil. En 404-feil oppstår når en side ikke blir funnet. CodeIgniter har en standardbehandler for feilen, men du kan definere din egen hvis du ønsker det.
  • $route['translate_uri_dashes'] = FALSE; dette alternativet lar deg oversette bindestreker til understrekninger. Vi vil snakke om dette alternativet når vi ser på hvordan ruter fungerer i CodeTennapparat.

La oss nå se på kontrollermetoden som er ansvarlig for å vise hjemmesiden som vi så da vi åpnet URL-en http://localhost:3000/ i nettleseren.

Åpne følgende fil

application/controllers/Welcome.php

Du skal kunne se følgende kode

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

	public function index()
	{
		$this->load->view('welcome_message');
	}
}

HER,

  • Definert ('BASEPATH') ELLER exit('Ingen direkte skripttilgang tillatt'); beskytter mot direkte tilgang til kontrollerklassen uten å gå gjennom index.php-filen. Husk at i MVC-paradigmet har alle forespørsler ett enkelt inngangspunkt, og for CodeIgniter, det er index.php. Denne koden blokkerer alle forespørsler som ikke kommer gjennom index.php
  • klasse Velkommen utvider CI_Controller {...} definerer en klasse Velkommen som utvider den overordnede klassen CI_Controller
  • public function index() definerer en offentlig funksjon som kalles opp som standard når du åpner hjemmesiden
  • $this->load->view('welcome_message'); denne linjen laster visningen welcome_message. Filen welcome_message ligger i katalogen application/views/welcome_message.php

Så langt har vi bare utforsket det som kommer ut av esken med CodeIgniter, la oss nå prøve å gjøre noen endringer. Vi skal opprette hjemmesiden vår og erstatte standardsiden.

Opprett en ny fil i application/views/home.php

Legg til følgende kode til 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>

HER,

Ovennevnte HTML-kode laster Burma SSS-rammeverk og font fra CDN-nettverket skaper et veldig grunnleggende HTML-dokument. Den bruker veldig enkel CSS-regel fra Burma CSS-rammeverket.

Åpne følgende URL i nettleseren din: http://localhost:3000/

Du bør kunne se følgende

CodeTennruting

Flott, vi har nettopp endret hjemmesiden. Gå videre, la oss definere ruten vår. La oss anta at applikasjonen vår også må kunne vise om oss-siden.

Lag en rute

Åpne rutefilen application/config.routes.php

Legg til følgende rute

$route['about-us'] = 'welcome/about_us';

HER,

  • Når en besøkende besøker URL-en /om-oss, instruerer vi CodeIgniter for å lete etter en kontroller Welcome og utfør metoden about_us.

Opprett en kontroller

La oss nå definere kontrollermetoden om oss

Åpne applikasjon/kontrollere/Welcome.php

Legg til følgende metode

public function about_us(){
            $this->load->view('about_us');
        }

HER,

  • Koden ovenfor definerer en funksjon about_us og laster en visning about_us.

Opprett en visning

La oss nå lage visningen som vi nettopp refererte til i delen ovenfor

Opprett en ny fil about_us.php i application/views/about_us.php

Legg til følgende kode

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

Vi er klare til å gå, åpne følgende URL i nettleseren din: http://localhost:3000/index.php/about-us

Du vil se følgende side

Opprett en visning i CodeTenner

Hvis du kan se siden ovenfor, gratulerer, du har opprettet en enkel applikasjon i CodeTennapparat.

Sammendrag

I denne veiledningen dekket vi tre (3) hovedkomponenter som utgjør en CodeIgniter-applikasjon. Vi så på ruter og hvordan man definerer dem, kontrollere og hvordan man lager metoder som svarer på ruteforespørsler, og laget enkle visninger som returneres til brukerne når de ber om en ressurs.

Oppsummer dette innlegget med: