CodeKontroleri paljenja, usmjeravanje prikaza: Učite s primjerom aplikacije

U ovom vodiču ćete naučiti sljedeće teme.

  • Usmjeravanje – usmjeravanje je odgovorno za odgovaranje na URL zahtjevi. Usmjeravanje odgovara URL na unaprijed definirane rute. Ako se ne pronađe odgovarajuća ruta, tada, CodeIgniter izbacuje iznimku "stranica nije pronađena".
  • Kontroleri – rute su povezane s kontrolerima. Kontroleri povezuju modele i prikaze. Zahtjev za podacima/poslovnom logikom iz modela i vraćanje rezultata u prezentaciji prikaza. Nakon što je URL Ako je usklađen s rutom, prosljeđuje se javnoj funkciji kontrolera. Ova funkcija komunicira s izvorom podataka, poslovnom logikom i vraća prikaz koji prikazuje rezultate.
  • Posjeta – pogledi su odgovorni za prezentaciju. Pogled je obično kombinacija HTML-a, CSS-a i JavaSkripta. Ovo je dio koji je odgovoran za prikazivanje web stranice korisniku. Tipično, prikazani podaci obično se dohvaćaju iz baze podataka ili bilo kojeg drugog dostupnog izvora podataka.

Kako stvoriti novi CodeProjekt upaljača

Koristit ćemo Composer za izradu novog projekta. Koristit ću PHP ugrađeni poslužitelj, tako da nije potrebno imati dodatni softver kao što je apaš. U ovom vodiču koristimo Windows operacijski sustav. Stoga smo stvorili mapu Sites na pogonu C. Možete koristiti bilo koji direktorij koji vam odgovara.

Otvorite naredbeni redak/terminal i pokrenite sljedeću naredbu

cd C:\Sites

Sada ćemo stvoriti CodeProjekt Igniter pomoću Composera. Pokrenite sljedeću naredbu

composer create-project CodeIgniter/framework ci-app

OVDJE,

  • Gornja naredba stvara novi CodeProjekt Igniter verzije 3 koristeći najnoviju stabilnu verziju, tj. 3.1.9, u direktorij ci-app.

Kada se gornja naredba završi, trebali biste moći dobiti rezultate slične sljedećima u terminalu

Napravite novu CodeProjekt upaljača

Pokrenite sljedeću naredbu za pregledavanje novostvorenog direktorija projekta ci-app

cd ci-app

Pokrenimo sada PHP ugrađeni web poslužitelj

 php -S localhost:3000

OVDJE,

  • Gornja naredba pokreće ugrađeni PHP poslužitelj koji radi na portu 3000.

Otvorite web preglednik i pregledajte sljedeće URL: http://localhost:3000/

Dobit ćete sljedeću stranicu

Napravite novu CodeProjekt upaljača

Ako vidite gornju stranicu, čestitamo, uspješno ste instalirali Codeupaljač.

Kao što možete pročitati na gornjoj web stranici, gore prikazanu stranicu prikazuje prikaz koji se nalazi u aplikaciji/views/welcome_message.php, a odgovorni kontroler nalazi se u aplikaciji/kontroleri/Welcome.php

CodeUsmjeravanje paljenja

Za sada, naša aplikacija ima samo jednu URL što je početna stranica. U ovom odjeljku prilagodit ćemo početni odjeljak. Izradit ćemo neke nove URLkoji će odgovoriti na različite zahtjeve.

Počnimo s rutom početne stranice

Otvorite datoteku s rutama kako je naznačeno donjom stazom

application/config/routes.php

Trebali biste moći vidjeti sljedeći sadržaj

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

OVDJE,

  • $route['default_controller'] = 'dobrodošli'; definira zadani kontroler koji odgovara na URI zahtjeve
  • $route['404_override'] = ”; ova ruta vam omogućuje definiranje prilagođene rute za pogreške 404. Pogreška 404 javlja se kada stranica nije pronađena. CodeIgniter ima zadani rukovatelj za grešku, ali možete definirati vlastiti ako želite.
  • $route['translate_uri_dashes'] = FALSE; ova opcija vam omogućuje prevođenje crtica u podcrte. O ovoj opciji ćemo govoriti kada budemo gledali kako rute funkcioniraju u CodeUpaljač.

Pogledajmo sada metodu kontrolera odgovornu za prikaz početne stranice koju smo vidjeli kada smo otvorili URL http://localhost:3000/ u web pregledniku.

Otvorite sljedeću datoteku

application/controllers/Welcome.php

Trebali biste moći vidjeti sljedeći kod

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

class Welcome extends CI_Controller {

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

OVDJE,

  • Definirano ('BASEPATH') ILI exit('Nije dopušten izravan pristup skripti'); štiti od izravnog pristupa klasi kontrolera bez prolaska kroz datoteku index.php. Zapamtite, u MVC paradigmi svi zahtjevi imaju jednu ulaznu točku i za CodeIgniter, njegov index.php. Ovaj kod blokira sve zahtjeve koji ne dolaze putem index.php
  • klasa Welcome extends CI_Controller {…} definira klasu Welcome koja proširuje nadređenu klasu CI_Controller
  • javna funkcija index() definira javnu funkciju koja se poziva prema zadanim postavkama kada otvorite početnu stranicu
  • $this->load->view('welcome_message'); ovaj redak učitava prikaz Welcome_message. Datoteka Welcome_message nalazi se u direktoriju application/views/welcome_message.php

Do sada smo istražili samo ono što dolazi s kutijom CodeIgniter, pokušajmo sada napraviti neke promjene. Napravit ćemo našu početnu stranicu i zamijeniti zadanu stranicu

Napravite novu datoteku u aplikaciji/views/home.php

Dodajte sljedeći kod u 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>

OVDJE,

Gornji HTML kod učitava okvir Burma SSS i font iz CDN mreže stvara vrlo osnovni HTML dokument. Primjenjuje vrlo jednostavno CSS pravilo iz Burma CSS okvira.

Otvorite sljedeće URL u vašem pregledniku: http://localhost:3000/

Trebali biste moći vidjeti sljedeće

CodeUsmjeravanje paljenja

Odlično, upravo smo uspješno izmijenili početnu stranicu. Idemo dalje, definirajmo našu rutu. Pretpostavimo da naša aplikacija također mora moći prikazati stranicu o nama.

Stvorite rutu

Otvorite datoteku ruta application/config.routes.php

Dodajte sljedeću rutu

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

OVDJE,

  • Kada posjetitelj posjeti URL /o-nama, podučavamo CodeIgniter za traženje kontrolera Dobrodošli i izvršavanje metode about_us.

Stvorite kontroler

Definirajmo sada metodu kontrolera o nama

Otvorite application/controllers/Welcome.php

Dodajte sljedeću metodu

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

OVDJE,

  • Gornji kod definira funkciju about_us i učitava prikaz about_us.

Stvorite pogled

Kreirajmo sada pogled koji smo upravo spomenuli u gornjem odjeljku

Napravite novu datoteku about_us.php u aplikaciji/views/about_us.php

Dodajte sljedeći kod

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

Spremni smo, otvorite sljedeće URL u vašem web pregledniku: http://localhost:3000/index.php/about-us

Vidjet ćete sljedeću stranicu

Stvori prikaz u Codeupaljač

Ako vidite gornju stranicu, čestitamo, uspješno ste izradili jednostavnu aplikaciju u CodeUpaljač.

Rezime

U ovom smo vodiču obradili tri (3) glavne komponente koje čine CodeIgniter aplikacija. Pregledali smo rute i kako ih definirati, kontrolere i kako stvoriti metode koje odgovaraju na zahtjeve za rute te smo stvorili jednostavne prikaze koji se vraćaju korisnicima kada zatraže resurs.

Sažmite ovu objavu uz: