CodeIgniter-ohjaimet, Views Routing: Opi esimerkkisovelluksella

Tässä opetusohjelmassa opit seuraavat aiheet.

  • Reititys – reititys vastaa URL-pyyntöihin vastaamisesta. Reititys vastaa URL-osoitetta ennalta määritettyihin reitteihin. Jos reittiä ei löydy, CodeIgniter antaa poikkeuksen sivulle ei löytynyt.
  • ohjaimet – reitit on linkitetty ohjaimiin. Ohjaimet liimaavat mallit ja näkymät yhteen. Data/liiketoimintalogiikan pyyntö mallista ja tulokset palautetaan näkymän esitykseen. Kun URL-osoite on kohdistettu reittiin, se välitetään ohjaimen julkiseen toimintoon. Tämä toiminto on vuorovaikutuksessa tietolähteen, liiketoimintalogiikan kanssa ja palauttaa näkymän, joka näyttää tulokset.
  • Näyttökerrat – Näkemykset ovat esittelyvastuussa. Näkymä on yleensä yhdistelmä HTML-, CSS- ja JavaKäsikirjoitus. Tämä osa vastaa verkkosivun näyttämisestä käyttäjälle. Tyypillisesti näytettävät tiedot haetaan yleensä tietokannasta tai muista saatavilla olevista tietolähteistä.

Kuinka luoda uusi CodeIgniter-projekti

Käytämme Composeria uuden projektin luomiseen. Käytän PHP sisäänrakennettua palvelinta, joten ei tarvitse olla ylimääräisiä ohjelmistoja, kuten Apache. Tässä opetusohjelmassa käytämme Windows käyttöjärjestelmä. Siksi olemme luoneet Sites-kansion asemaan C. Voit käyttää mitä tahansa sinulle sopivaa hakemistoa.

Avaa komentorivi/pääte ja suorita seuraava komento

cd C:\Sites

Luomme nyt CodeIgniter-projektin Composerilla. Suorita seuraava komento

composer create-project CodeIgniter/framework ci-app

TÄSSÄ,

  • Yllä oleva komento luo uuden CodeIgniter-projektin version 3 käyttämällä uusinta vakaata julkaisua eli 3.1.9 hakemistoon ci-app.

Kun yllä oleva komento on suoritettu loppuun, sinun pitäisi pystyä saamaan seuraavanlaisia ​​tuloksia päätteessä

Luo uusi CodeIgniter-projekti

Suorita seuraava komento selataksesi äskettäin luotuun projektihakemistoon ci-app

cd ci-app

Aloitetaan nyt sisäänrakennettu PHP-verkkopalvelin

 php -S localhost:3000

TÄSSÄ,

  • Yllä oleva komento käynnistää sisäänrakennetun PHP-palvelimen, joka toimii portissa 3000.

Avaa verkkoselain ja selaa seuraavaa URL-osoitetta: http://localhost:3000/

Saat seuraavan sivun

Luo uusi CodeIgniter-projekti

Jos näet yllä olevan sivun, onnittelut, asennus on onnistunut CodeIgniter.

Kuten yllä olevalta verkkosivulta voit lukea, yllä näkyvä sivu on hahmonnettu näkymässä, joka sijaitsee osoitteessa application/views/welcome_message.php ja vastaava ohjain sijaitsee osoitteessa application/controllers/Welcome.php.

CodeIgniter-reititys

Tällä hetkellä sovelluksellamme on vain yksi URL-osoite, joka on kotisivu. Tässä osiossa räätälöimme kotiosion. Luomme uusia URL-osoitteita, jotka vastaavat erilaisiin pyyntöihin.

Aloitetaan kotisivun reitillä

Avaa reittitiedosto alla olevan polun osoittamalla tavalla

application/config/routes.php

Sinun pitäisi pystyä näkemään seuraava sisältö

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

TÄSSÄ,

  • $route['default_controller'] = 'Tervetuloa'; määrittää oletusohjaimen, joka vastaa URI-pyyntöihin
  • $route['404_override'] = ”; Tämän reitin avulla voit määrittää mukautetun reitin 404-virheille. 404-virhe ilmenee, kun sivua ei löydy. CodeIgniterillä on oletuskäsittelijä virheelle, mutta voit halutessasi määrittää oman.
  • $route['translate_uri_dashes'] = EPÄTOSI; Tämän vaihtoehdon avulla voit muuttaa viivat alaviivoiksi. Puhumme tästä vaihtoehdosta, kun tarkastelemme, kuinka reitit toimivat CodeIgniterissä.

Tarkastellaan nyt ohjainmenetelmää, joka vastaa kotisivun näyttämisestä, jonka näimme avattaessamme URL-osoitteen http://localhost:3000/ selaimessa.

Avaa seuraava tiedosto

application/controllers/Welcome.php

Sinun pitäisi pystyä näkemään seuraava koodi

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

class Welcome extends CI_Controller {

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

TÄSSÄ,

  • Defined ('BASEPATH') TAI exit('Ei suoraa komentosarjan käyttöä sallittu'); suojaa suoralta pääsyltä ohjainluokkaan ilman index.php-tiedoston läpimenoa. Muista, että MVC-paradigmassa kaikilla pyynnöillä on yksi aloituspiste ja CodeIgniterille sen index.php. Tämä koodi estää kaikki pyynnöt, jotka eivät tule index.php:n kautta
  • luokka Tervetuloa laajentaa CI_Controller {…} määrittää luokan Tervetuloa, joka laajentaa pääluokan CI_Controller
  • public function index() määrittää julkisen funktion, joka kutsutaan oletusarvoisesti, kun avaat kotisivun
  • $this->load->view('welcome_message'); tämä rivi lataa näkymän welcome_message. Tiedosto welcome_message sijaitsee hakemistossa application/views/welcome_message.php

Toistaiseksi olemme vain tutkineet, mitä CodeIgniterin laatikosta tulee, yritetään nyt tehdä joitain muutoksia. Luomme kotisivumme ja korvaamme oletussivun

Luo uusi tiedosto osoitteessa application/views/home.php

Lisää seuraava koodi osoitteeseen 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>

TÄSSÄ,

Yllä oleva HTML-koodi lataa Burman SSS-kehyksen ja fontin CDN-verkosta luovat hyvin yksinkertaisen HTML-dokumentin. Se soveltaa hyvin yksinkertaista CSS-sääntöä Burman CSS-kehyksestä.

Avaa seuraava URL-osoite selaimessasi: http://localhost:3000/

Sinun pitäisi pystyä näkemään seuraavat asiat

CodeIgniter-reititys

Hienoa, olemme juuri muuttaneet kotisivua onnistuneesti. Jatketaan, määritellään reittimme. Oletetaan, että sovelluksemme on pystyttävä näyttämään myös Tietoja meistä -sivu.

Luo reitti

Avaa reittitiedosto application/config.routes.php

Lisää seuraava reitti

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

TÄSSÄ,

  • Kun vierailija vierailee URL-osoitteessa /about-us, ohjeistamme CodeIgniteriä etsimään ohjaimen Tervetuloa ja suorittamaan menetelmän about_us.

Luo ohjain

Määritellään nyt itseämme koskeva ohjainmenetelmä

Avaa application/controllers/Welcome.php

Lisää seuraava menetelmä

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

TÄSSÄ,

  • Yllä oleva koodi määrittelee funktion about_us ja lataa näkymän about_us.

Luo näkymä

Luodaan nyt näkymä, johon juuri viitattiin yllä olevassa osiossa

Luo uusi tiedosto about_us.php osoitteessa application/views/about_us.php

Lisää seuraava koodi

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

Nyt on hyvä mennä, avaa seuraava URL-osoite verkkoselaimessasi: http://localhost:3000/index.php/about-us

Näet seuraavan sivun

Luo näkymä CodeIgniterissä

Jos näet yllä olevan sivun, onnittelut, olet onnistuneesti luonut yksinkertaisen sovelluksen CodeIgniterissä.

Yhteenveto

Tässä opetusohjelmassa käsittelimme kolme (3) pääkomponenttia, jotka muodostavat CodeIgniter-sovelluksen. Tarkastelimme reittejä ja niiden määrittelyä, ohjaimia ja menetelmiä, jotka vastaavat reittipyyntöihin ja loimme yksinkertaisia ​​näkymiä, jotka palautetaan käyttäjille, kun he pyytävät resurssia.