CodeKontroleri paljenja, usmjeravanje prikaza: Učenje s primjerom
⚡ Pametni sažetak
Ova CodePrimjer Ignitera gradi malu aplikaciju koja pokazuje kako usmjeravanje, kontroleri i prikazi rade zajedno. Novi projekt je kreiran pomoću Composera, mapiranje ruta URLs u metode kontrolera, a svaka metoda učitava prikaz koji vraća HTML pregledniku.

U ovom tutorijalu naučit ćete 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, CodeIgniter baca iznimku "stranica nije pronađena".
- Kontroleri – rute su povezane s kontrolerima. Kontroleri povezuju modele i prikaze. Oni zahtijevaju podatke i poslovnu logiku od modela i vraćaju rezultate 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 i poslovnom logikom te vraća prikaz koji prikazuje rezultate.
- Posjeta – pogledi su odgovorni za prezentaciju. Pogled je obično kombinacija HTML-a, CSS-a i JavaSkripta. Ovaj dio je odgovoran za prikaz web stranice korisniku. Prikazani podaci obično se dohvaćaju iz baze podataka ili drugog dostupnog izvora podataka.
Kako stvoriti novi CodeProjekt upaljača
Za izradu novog projekta koristit ćemo Composer. Koristit ćemo ugrađeni PHP poslužitelj, tako da nije potreban dodatni softver poput apašU ovom tutorijalu koristimo Windows operativni sustav, pa smo na disku C stvorili mapu Sites. Možete koristiti bilo koji direktorij koji vam odgovara.
Otvorite naredbeni redak ili 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 najnovije stabilno izdanje (3.1.9 u vrijeme pisanja), instalirajte u direktorij pod nazivom ci-app.
Kada se izvršavanje naredbe završi, u terminalu biste trebali vidjeti rezultate slične sljedećima:
Pokrenite sljedeću naredbu za pregled novostvorenog direktorija projekta ci-app:
cd ci-app
Sada pokrenite ugrađeni PHP 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 idite na sljedeće URL: http://localhost:3000/Dobit ćete sljedeću stranicu:
Ako vidite gornju stranicu, čestitamo, uspješno ste instalirali CodeupaljačStranicu prikazuje prikaz koji se nalazi u datoteci application/views/welcome_message.php, a odgovorni kontroler nalazi se u datoteci application/controllers/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 i stvoriti neke nove URLkoji odgovaraju na različite zahtjeve.
Počnimo s rutom početne stranice. Otvorite datoteku ruta na donjoj putanji:
application/config/routes.php
Trebali biste vidjeti sljedeći sadržaj:
$route['default_controller'] = 'welcome'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE;
Ovdje:
- $route['default_controller'] = 'welcome'; definira zadani kontroler koji odgovara na URI zahtjeve.
- $route['404_override'] = ”; omogućuje vam 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; omogućuje vam prevođenje crtica u podcrte. O ovoj ćemo opciji raspravljati kada budemo pogledali kako rute funkcioniraju u CodeUpaljač.
Pogledajmo sada metodu kontrolera odgovornu za prikaz početne stranice koju smo vidjeli kada smo otvorili http://localhost:3000/Otvorite sljedeću datoteku:
application/controllers/Welcome.php
Trebali biste 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:
- defined('BASEPATH') OR exit('Nije dopušten izravan pristup skripti'); štiti od izravnog pristupa klasi kontrolera bez prolaska kroz datoteku index.php. U MVC paradigmi, svi zahtjevi imaju jednu ulaznu točku, koja za CodeIgniter je index.php. Ovaj kod blokira sve zahtjeve koji ne dolaze putem index.php.
- Klasa Welcome extends CI_Controller {…} definira klasu Welcome koja proširuje roditeljsku 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'); učitava prikaz welcome_message, koji se nalazi u application/views/welcome_message.php.
Do sada smo istražili samo ono što dolazi iz kutije CodeIgniter. Sada napravimo neke promjene. Izradit ćemo vlastitu početnu stranicu i zamijeniti zadanu stranicu. Izradite novu datoteku na application/views/home.php i dodajte sljedeći kod:
<!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 Bulma CSS framework i Font Awesome s CDN-a i stvara vrlo osnovni HTML dokument. Primjenjuje jednostavno CSS pravilo iz Bulma CSS frameworka.
Otvorite sljedeće URL u vašem pregledniku: http://localhost:3000/Trebali biste vidjeti sljedeće:
Izvrsno, uspješno smo izmijenili početnu stranicu. Idemo dalje, definirajmo našu rutu. Pretpostavimo da naša aplikacija također treba prikazati stranicu "O nama".
Stvorite rutu
Otvorite datoteku ruta application/config/routes.php i 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 about_us. Otvorimo application/controllers/Welcome.php i dodajmo 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
Sada stvorimo prikaz koji smo upravo spomenuli. Izradite novu datoteku about_us.php u application/views/about_us.php i 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-usVidjet ćete sljedeću stranicu:
Ako vidite gornju stranicu, čestitamo, uspješno ste izradili jednostavnu aplikaciju u CodeUpaljač.




