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.

  • 🧭 usmjeravanje: Rute odgovaraju URL metodi kontrolera i neusporedivom URL javlja grešku "stranica nije pronađena".
  • 🎛️ regulatori: Metoda kontrolera odgovara na rutu, zahtijeva podatke i vraća prikaz.
  • 🖼️ Pregleda: Prikaz kombinira HTML, CSS i JavaSkripta za prikaz rezultata korisniku.
  • ???? Postavljanje projekta: Composer stvara projekt, a ugrađeni PHP poslužitelj ga pokreće lokalno.
  • ???? Zadana ruta: default_controller postavlja početnu stranicu, a 404_override postavlja prilagođenu stranicu s pogreškom.
  • Prilagođena ruta: Ruta poput about-us preslikava se na metodu about_us kontrolera Welcome.
  • 🔁 Puni protok: URL usmjeriti do kontrolera za prikaz, a zatim HTML natrag do preglednika.

CodeKontroleri i prikazi paljenja

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:

Skladatelj stvara novo CodeProjekt upaljača

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:

CodeZadana početna stranica Ignitera

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:

običaj CodePočetna stranica Ignitera

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:

CodeStranica o nama tvrtke Igniter

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

Pitanja i odgovori

Unos rute mapira URL segment kontroleru i metodi, kao što je 'dobrodošli/o_nama'. Kada to URL se traži, CodeIgniter pokreće imenovanu metodu koja učitava i vraća prikaz.

Postavlja kontroler koji rukuje korijenom web-mjesta kada nema određenog URL je dan. U primjeru, 'welcome' znači da početnu stranicu poslužuje metoda index kontrolera Welcome.

Ne. Ugrađeni PHP poslužitelj, pokrenut s php -S localhost:3000, dovoljan je za lokalno pokretanje primjera. Apache ili Nginx potrebni su samo za produkcijsku implementaciju.

Da. Iz opisa stranice, umjetna inteligencija može napisati unos rute, metodu kontrolera i odgovarajući prikaz, keeping imena dosljedna. Provjerite putove u odnosu na svoj CodeVerzija s upaljačem.

Ovaj primjer koristi CodeIgniter 3, koji pohranjuje kontrolere i prikaze unutar application/. CodeIgniter 4 je restrukturirao direktorije i imenske prostore, tako da se putanje i sintaksa razlikuju u novijim projektima.

Sažmite ovu objavu uz: