CodeIgniter Controllers, Views Routing: Dowiedz się z przykładową aplikacją

Spisie treści:

Anonim

W tym samouczku nauczysz się następujących tematów.

  • Routing - routing odpowiada za odpowiadanie na żądania adresów URL. Routing dopasowuje adres URL do wstępnie zdefiniowanych tras. Jeśli nie zostanie znaleziona żadna pasująca trasa, CodeIgniter wyrzuca stronę, w której nie znaleziono wyjątku.
  • Kontrolery - trasy są powiązane z kontrolerami. Kontrolery sklejają ze sobą modele i widoki. Żądanie danych / logiki biznesowej z modelu i zwrócenie wyników w prezentacji widoku. Po dopasowaniu adresu URL do trasy jest on przekazywany do funkcji publicznej kontrolera. Ta funkcja współdziała ze źródłem danych, logiką biznesową i zwraca widok, w którym są wyświetlane wyniki.
  • Widoki - za prezentację odpowiadają widoki. Widok jest zwykle połączeniem HTML, CSS i JavaScript. Jest to część odpowiedzialna za wyświetlenie strony internetowej użytkownikowi. Zazwyczaj wyświetlane dane są zwykle pobierane z bazy danych lub innych dostępnych źródeł danych.

W tym samouczku nauczysz się:

  • Jak stworzyć nowy projekt CodeIgniter
  • CodeIgniter Routing
  • Utwórz trasę
  • Utwórz kontroler
  • Utwórz widok

Jak stworzyć nowy projekt CodeIgniter

Użyjemy Composera do stworzenia nowego projektu. Będę używał wbudowanego serwera PHP, więc nie jest konieczne posiadanie dodatkowego oprogramowania, takiego jak Apache. W tym samouczku używamy systemu operacyjnego Windows. Dlatego utworzyliśmy folder Witryny na dysku C. Możesz użyć dowolnego katalogu, który jest dla Ciebie odpowiedni.

Otwórz wiersz poleceń / terminal i uruchom następujące polecenie

cd C:\Sites

Teraz utworzymy projekt CodeIgniter za pomocą Composera. Uruchom następujące polecenie

composer create-project CodeIgniter/framework ci-app

TUTAJ,

  • Powyższe polecenie tworzy nowy projekt CodeIgniter w wersji 3 przy użyciu najnowszej stabilnej wersji, tj. 3.1.9, do katalogu ci-app.

Po zakończeniu działania powyższego polecenia w terminalu powinny pojawić się wyniki podobne do następujących

Uruchom następujące polecenie, aby przejść do nowo utworzonego katalogu projektu ci-app

cd ci-app

Zacznijmy teraz od serwera WWW wbudowanego w PHP

 php -S localhost:3000 

TUTAJ,

  • Powyższe polecenie uruchamia wbudowany serwer PHP działający na porcie 3000.

Otwórz przeglądarkę internetową i przejrzyj następujący adres URL

http: // localhost: 3000 /

Otrzymasz następującą stronę

Jeśli widzisz powyższą stronę, to gratulacje, pomyślnie zainstalowałeś CodeIgniter.

Jak możesz przeczytać z powyższej strony internetowej, wyświetlona powyżej strona jest renderowana przez widok znajdujący się w application / views / welcome_message.php, a odpowiedzialny kontroler znajduje się w application / controllers / Welcome.php

CodeIgniter Routing

Na razie nasza aplikacja ma tylko jeden adres URL, który jest stroną główną. W tej sekcji dostosujemy sekcję główną. Stworzymy kilka nowych adresów URL, które będą odpowiadać na różne żądania.

Zacznijmy od trasy do strony głównej

Otwórz plik tras zgodnie ze ścieżką poniżej

application/config/routes.php
Powinieneś być w stanie zobaczyć następującą zawartość
$route['default_controller'] = 'welcome';$route['404_override'] = '';$route['translate_uri_dashes'] = FALSE;

TUTAJ,

  • $ route ['default_controller'] = 'witaj'; definiuje domyślny kontroler, który odpowiada na żądania URI
  • $ route ['404_override'] = ''; ta trasa umożliwia zdefiniowanie niestandardowej trasy dla błędów 404. Błąd 404 występuje, gdy strona nie zostanie znaleziona. CodeIgniter ma domyślną obsługę błędu, ale możesz zdefiniować własną, jeśli chcesz.
  • $ route ['translate_uri_dashes'] = FALSE; ta opcja umożliwia przetłumaczenie myślników na podkreślenia. Porozmawiamy o tej opcji, gdy przyjrzymy się, jak działają trasy w CodeIgniter.

Przyjrzyjmy się teraz metodzie kontrolera odpowiedzialnej za wyświetlenie strony głównej, którą widzieliśmy po otwarciu adresu URL http: // localhost: 3000 / w przeglądarce internetowej

Otwórz następujący plik

application/controllers/Welcome.php

Powinieneś być w stanie zobaczyć następujący kod

load->view('welcome_message');}}

TUTAJ,

  • Zdefiniowano ('BASEPATH') OR exit ('Brak bezpośredniego dostępu do skryptu'); chroni przed bezpośrednim dostępem do klasy kontrolera bez przechodzenia przez plik index.php. Pamiętaj, że w paradygmacie MVC wszystkie żądania mają jeden punkt wejścia, a dla CodeIgniter jego index.php. Ten kod blokuje wszystkie żądania, które nie przychodzą przez plik index.php
  • class Welcome extends CI_Controller {…} definiuje klasę Welcome, która rozszerza klasę nadrzędną CI_Controller
  • public function index () definiuje funkcję publiczną, która jest wywoływana domyślnie po otwarciu strony domowej
  • $ this-> load-> view ('welcome_message'); ta linia ładuje widok welcome_message. Plik welcome_message znajduje się w katalogu application / views / welcome_message.php

Do tej pory zbadaliśmy tylko to, co wychodzi z pudełka z CodeIgniterem, spróbujmy teraz wprowadzić pewne zmiany. Stworzymy naszą stronę główną i zastąpimy stronę domyślną

Utwórz nowy plik w application / views / home.php

Dodaj następujący kod do home.php

Hello CodeIgniter!

CodeIgniter Hello World

TUTAJ,

Powyższy kod HTML ładuje framework Burma SSS, a czcionka z sieci CDN tworzy bardzo prosty dokument HTML. Stosuje bardzo prostą regułę CSS z birmańskiego frameworka CSS.

Otwórz następujący adres URL w przeglądarce

http: // localhost: 3000 /

Powinieneś być w stanie zobaczyć następujące elementy

Świetnie, właśnie pomyślnie zmodyfikowaliśmy stronę główną. Idąc dalej, zdefiniujmy naszą trasę. Załóżmy, że nasza aplikacja również musi mieć możliwość wyświetlania strony o nas.

Utwórz trasę

Otwórz plik tras application / config.routes.php

Dodaj następującą trasę

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

TUTAJ,

  • Kiedy odwiedzający odwiedza adres URL / about-us, instruujemy CodeIgniter, aby szukał kontrolera Welcome i wykonywał metodę about_us.

Utwórz kontroler

Zdefiniujmy teraz metodę kontrolera o nas

Otwórz aplikację / controllers / Welcome.php

Dodaj następującą metodę

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

TUTAJ,

  • Powyższy kod definiuje funkcję about_us i ładuje widok about_us.

Utwórz widok

Utwórzmy teraz widok, do którego właśnie odwołaliśmy się w powyższej sekcji

Utwórz nowy plik about_us.php w application / views / about_us.php

Dodaj następujący kod

About CodeIgniter!

About us yap…

Jesteśmy gotowi do pracy, otwórz następujący adres URL w przeglądarce internetowej

http: // localhost: 3000 / index.php / about-us

Zobaczysz następującą stronę

Jeśli widzisz powyższą stronę, to gratulacje, pomyślnie utworzyłeś prostą aplikację w CodeIgniterze.

Podsumowanie

W tym samouczku omówiliśmy trzy (3) główne komponenty, które składają się na aplikację CodeIgniter. Przyjrzeliśmy się trasom i sposobom ich definiowania, kontrolerom i sposobom tworzenia metod odpowiadających na żądania tras oraz stworzyliśmy proste widoki, które są zwracane użytkownikom, gdy żądają zasobu.