CodeControlere Igniter, Rutare Vizualizări: Învățați cu Exemple
⚡ Rezumat inteligent
Aceasta CodeUn exemplu Igniter construiește o mică aplicație pentru a arăta cum funcționează împreună rutarea, controlerele și vizualizările. Un nou proiect este creat cu Composer, harta rutelor. URLs către metodele controlerului, iar fiecare metodă încarcă o vizualizare care returnează cod HTML browserului.
În acest tutorial, veți învăța următoarele subiecte:
- Rutare – rutarea este responsabilă pentru răspunsul la URL cereri. Rutarea se potrivește cu URL la rutele predefinite. Dacă nu se găsește nicio potrivire de rută, CodeIgniter generează o excepție de tip pagină negăsită.
- Controlere – rutele sunt legate de controlere. Controlerele leagă modelele și vizualizările împreună. Acestea solicită date și logică de business de la model și returnează rezultatele în prezentarea vizualizării. Odată ce un URL După ce a fost asociată cu o rută, aceasta este redirecționată către o funcție publică a controlerului. Această funcție interacționează cu sursa de date și logica de business și returnează vizualizarea care afișează rezultatele.
- Vizualizări – vizualizările sunt responsabile de prezentare. O vizualizare este de obicei o combinație de HTML, CSS și JavaScript. Această parte este responsabilă pentru afișarea paginii web către utilizator. De obicei, datele afișate sunt preluate din baza de date sau dintr-o altă sursă de date disponibilă.
Cum se creează un nou CodeProiectul Igniter
Vom folosi Composer pentru a crea un proiect nou. Vom folosi serverul PHP încorporat, deci nu este necesar să avem software suplimentar, cum ar fi ApacheÎn acest tutorial, folosim Windows sistem de operare, așa că am creat un folder Sites pe unitatea C. Puteți utiliza orice director potrivit pentru dvs.
Deschideți linia de comandă sau terminalul și executați următoarea comandă:
cd C:\Sites
Acum vom crea un CodeProiectul Igniter folosind Composer. Executați următoarea comandă:
composer create-project CodeIgniter/framework ci-app
Aici:
- Comanda de mai sus creează un nou CodeProiectul Igniter versiunea 3, folosind cea mai recentă versiune stabilă (3.1.9 la momentul scrierii), într-un director numit ci-app.
Când comanda s-a terminat de executat, ar trebui să vedeți rezultate similare cu următoarele în terminal:
Executați următoarea comandă pentru a naviga la directorul de proiect ci-app nou creat:
cd ci-app
Acum porniți serverul web încorporat în PHP:
php -S localhost:3000
Aici:
- Comanda de mai sus pornește serverul PHP încorporat care rulează pe portul 3000.
Deschideți browserul web și navigați la următoarele URL: http://localhost:3000/. Veți obține următoarea pagină:
Dacă puteți vedea pagina de mai sus, felicitări, ați instalat cu succes CodeigniterPagina este randată de vizualizarea situată în application/views/welcome_message.php, iar controlorul responsabil se află în application/controllers/Welcome.php.
CodeRutarea aprinderii
Deocamdată, aplicația noastră are o singură URL, care este pagina principală. În această secțiune, vom personaliza secțiunea principală și vom crea câteva noi URLcare răspund la diferite solicitări.
Să începem cu ruta către pagina principală. Deschideți fișierul rutelor la calea de mai jos:
application/config/routes.php
Ar trebui să vedeți următorul conținut:
$route['default_controller'] = 'welcome'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE;
Aici:
- $route['default_controller'] = 'welcome'; definește controlerul implicit care răspunde la cererile URI.
- `$route['404_override'] = ”;` vă permite să definiți o rută personalizată pentru erorile 404. O eroare 404 apare atunci când o pagină nu este găsită. CodeIgniter are un handler implicit pentru eroare, dar puteți defini propriul handler dacă doriți.
- $route['translate_uri_dashes'] = FALSE; vă permite să convertiți cratimele în sublinieri. Vom discuta această opțiune când vom analiza cum funcționează rutele în CodeAprindere.
Să analizăm acum metoda controlerului responsabilă de afișarea paginii principale pe care am văzut-o când am deschis http://localhost:3000/Deschideți următorul fișier:
application/controllers/Welcome.php
Ar trebui să vedeți următorul cod:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } }
Aici:
- defined('BASEPATH') OR exit('Nu este permis accesul direct la script'); protejează împotriva accesării directe a clasei controller fără a trece prin fișierul index.php. În paradigma MVC, toate cererile au un singur punct de intrare, care pentru CodeIgniter este index.php. Acest cod blochează toate cererile care nu vin prin index.php.
- class Welcome extends CI_Controller {…} definește o clasă Welcome care extinde clasa părinte CI_Controller.
- Funcția public function index() definește o funcție publică care este apelată în mod implicit la deschiderea paginii principale.
- `$this->load->view('welcome_message');` încarcă vizualizarea `welcome_message`, care se află în `application/views/welcome_message.php`.
Până acum am explorat doar ce vine din cutie cu CodeIgniter. Să facem acum câteva modificări. Vom crea propria noastră pagină principală și vom înlocui pagina implicită. Creați un fișier nou la application/views/home.php și adăugați următorul cod:
<!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>
Aici: Codul HTML de mai sus încarcă framework-ul CSS Bulma și Font Awesome dintr-o rețea CDN și creează un document HTML foarte simplu. Aplică o regulă CSS simplă din framework-ul CSS Bulma.
Deschideți următoarele URL în browserul dvs.: http://localhost:3000/. Ar trebui să vedeți următoarele:
Excelent, am modificat cu succes pagina principală. Continuând, să definim ruta. Să presupunem că aplicația noastră trebuie să afișeze și o pagină „Despre noi”.
Creați un traseu
Deschideți fișierul de rute application/config/routes.php și adăugați următoarea rută:
$route['about-us'] = 'welcome/about_us';
Aici:
- Când un vizitator vizitează URL /despre-noi, instruim CodeIgniter pentru a căuta un controller Welcome și a executa metoda about_us.
Creați un controler
Să definim acum metoda controllerului about_us. Deschideți application/controllers/Welcome.php și adăugați următoarea metodă:
public function about_us(){
$this->load->view('about_us');
}
Aici:
- Codul de mai sus definește o funcție about_us și încarcă o vizualizare about_us.
Creați o vizualizare
Să creăm acum vizualizarea la care tocmai am făcut referire. Creați un fișier nou about_us.php în application/views/about_us.php și adăugați următorul cod:
<!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>
Suntem gata. Deschideți următoarele URL în browserul tău web: http://localhost:3000/index.php/about-us. Veți vedea următoarea pagină:
Dacă puteți vedea pagina de mai sus, felicitări, ați creat cu succes o aplicație simplă în CodeAprindere.





