CodeIgniter Denetleyicileri, Görünüm Yönlendirmesi: Örnek Uygulamayla Öğrenin
Bu eğitimde aşağıdaki konuları öğreneceksiniz.
- Yönlendirme – yönlendirme, URL isteklerine yanıt vermekten sorumludur. Yönlendirme, URL'yi önceden tanımlanmış rotalarla eşleştirir. Eğer rota eşleşmesi bulunamazsa CodeIgniter istisna bulunmayan bir sayfa atar.
- Kontrolörler – rotalar kontrolörlere bağlıdır. Kontrolörler modelleri ve görünümleri birbirine yapıştırır. Modelden veri/iş mantığı isteği ve sonuçların görünümün sunumunda döndürülmesi. Bir URL bir rotayla eşleştirildikten sonra denetleyicinin genel işlevine iletilir. Bu işlev, veri kaynağıyla ve iş mantığıyla etkileşime girer ve sonuçları görüntüleyen görünümü döndürür.
- Görünümler – sunumdan görüşler sorumludur. Bir görünüm genellikle HTML, CSS ve JavaKomut dosyası. Bu, web sayfasını kullanıcıya göstermekten sorumlu olan kısımdır. Genellikle, görüntülenen veriler genellikle veritabanından veya diğer mevcut veri kaynaklarından alınır.
Yeni bir CodeIgniter projesi nasıl oluşturulur?
Yeni bir proje oluşturmak için Composer'ı kullanacağız. PHP'nin yerleşik sunucusunu kullanacağım, bu nedenle aşağıdaki gibi ekstra yazılımlara gerek yok: Apache. Bu eğitimde, şunu kullanıyoruz: Windows işletim sistemi. Bu nedenle C sürücüsünde Sites klasörü oluşturduk. Size uygun olan herhangi bir dizini kullanabilirsiniz.
Komut satırını/terminali açın ve aşağıdaki komutu çalıştırın
cd C:\Sites
Şimdi Composer kullanarak bir CodeIgniter projesi oluşturacağız. Aşağıdaki komutu çalıştırın
composer create-project CodeIgniter/framework ci-app
İŞTE,
- Yukarıdaki komut, en son kararlı sürümü (yani 3) kullanarak ci-app dizininde yeni bir CodeIgniter projesi sürüm 3.1.9 oluşturur.
Yukarıdaki komut çalışmayı tamamladığında, terminalde aşağıdakine benzer sonuçlar görebilmeniz gerekir
Yeni oluşturulan ci-app proje dizinine gitmek için aşağıdaki komutu çalıştırın
cd ci-app
Şimdi PHP yerleşik web sunucusunu başlatalım
php -S localhost:3000
İŞTE,
- Yukarıdaki komut, 3000 numaralı bağlantı noktasında çalışan yerleşik PHP sunucusunu başlatır.
Web tarayıcınızı açın ve aşağıdaki URL'ye gidin: http://localhost:3000/
Aşağıdaki sayfaya ulaşacaksınız
Yukarıdaki sayfayı görebiliyorsanız tebrikler, başarıyla yüklediniz CodeIgniter.
Yukarıdaki web sayfasından da okuyabileceğiniz gibi, yukarıda görüntülenen sayfa, application/views/welcome_message.php dosyasında bulunan görünüm tarafından oluşturulur ve sorumlu denetleyici, application/controllers/Welcome.php dosyasında bulunur.
CodeIgniter Yönlendirme
Şimdilik uygulamamızın tek bir URL'si var, o da ana sayfa. Bu bölümde home bölümünü özelleştireceğiz. Farklı isteklere yanıt verecek bazı yeni URL'ler oluşturacağız.
Ana sayfa rotasıyla başlayalım
Rotalar dosyasını aşağıdaki yolla gösterildiği şekilde açın
application/config/routes.php
Aşağıdaki içeriği görebilmelisiniz
$route['default_controller'] = 'welcome'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE;
İŞTE,
- $route['default_controller'] = 'hoş geldiniz'; URI isteklerine yanıt veren varsayılan denetleyiciyi tanımlar
- $rota['404_override'] = ”; bu rota 404 hataları için özel bir rota tanımlamanıza olanak tanır. Bir sayfa bulunamadığında 404 hatası oluşur. CodeIgniter'ın hata için varsayılan bir işleyicisi vardır ancak isterseniz kendinizinkini tanımlayabilirsiniz.
- $route['translate_uri_dashes'] = YANLIŞ; bu seçenek kısa çizgileri alt çizgiye çevirmenize olanak tanır. CodeIgniter'da rotaların nasıl çalıştığına baktığımızda bu seçenekten bahsedeceğiz.
Şimdi URL'yi açtığımızda gördüğümüz ana sayfayı görüntülemekten sorumlu denetleyici yöntemine bakalım. http://localhost:3000/
web tarayıcısında.
Aşağıdaki dosyayı açın
application/controllers/Welcome.php
Aşağıdaki kodu görebilmelisiniz
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } }
İŞTE,
- Defined ('BASEPATH') VEYA çıkış('Doğrudan komut dosyası erişimine izin verilmiyor'); index.php dosyasından geçmeden denetleyici sınıfına doğrudan erişime karşı koruma sağlar. Unutmayın, MVC paradigmasında tüm isteklerin tek bir giriş noktası vardır ve CodeIgniter için onun index.php'si vardır. Bu kod index.php aracılığıyla gelmeyen tüm istekleri engeller
- Hoş Geldiniz sınıfı CI_Controller'ı genişletir {…}, CI_Controller üst sınıfını genişleten bir Hoş Geldiniz sınıfını tanımlar
- public function index(), ana sayfayı açtığınızda varsayılan olarak çağrılan bir genel işlevi tanımlar
- $this->load->view('welcome_message'); bu satır, Welcome_message görünümünü yükler. Welcome_message dosyası application/views/welcome_message.php dizininde bulunur.
Şimdiye kadar, CodeIgniter ile kutudan çıkanları inceledik, şimdi bazı değişiklikler yapmayı deneyelim. Ana sayfamızı oluşturacağız ve varsayılan sayfayı değiştireceğiz
application/views/home.php'de yeni bir dosya oluşturun
Aşağıdaki kodu home.php'ye ekleyin
<!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>
İŞTE,
Yukarıdaki HTML kodu Burma SSS çerçevesini yükler ve CDN ağından yazı tipi çok basit bir HTML belgesi oluşturur. Burma CSS çerçevesinden çok basit bir CSS kuralı uygular.
Tarayıcınızda aşağıdaki URL'yi açın: http://localhost:3000/
Aşağıdakileri görebilmelisiniz
Harika, ana sayfayı başarıyla değiştirdik. Devam edelim, rotamızı tanımlayalım. Uygulamamızın aynı zamanda hakkımızda sayfasını da gösterebilmesi gerektiğini varsayalım.
Rota Oluştur
Uygulama/config.routes.php rota dosyasını açın
Aşağıdaki rotayı ekleyin
$route['about-us'] = 'welcome/about_us';
İŞTE,
- Bir ziyaretçi /about-us URL'sini ziyaret ettiğinde, CodeIgniter'a bir hoş geldiniz denetleyicisi araması ve about_us yöntemini çalıştırması talimatını veriyoruz.
Denetleyici Oluştur
Şimdi hakkımızdaki denetleyici metodunu tanımlayalım
Application/controllers/Welcome.php dosyasını açın
Aşağıdaki yöntemi ekleyin
public function about_us(){ $this->load->view('about_us'); }
İŞTE,
- Yukarıdaki kod, about_us işlevini tanımlar ve about_us görünümünü yükler.
Görünüm Oluştur
Şimdi yukarıdaki bölümde bahsettiğimiz görünümü oluşturalım.
application/views/about_us.php dosyasında yeni bir about_us.php dosyası oluşturun
Aşağıdaki kodu ekleyin
<!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>
Artık hazırız, web tarayıcınızda aşağıdaki URL'yi açın: http://localhost:3000/index.php/about-us
Aşağıdaki sayfayı göreceksiniz
Yukarıdaki sayfayı görebiliyorsanız tebrikler, CodeIgniter'da başarıyla basit bir uygulama oluşturdunuz.
ÖZET
Bu eğitimde CodeIgniter uygulamasını oluşturan üç (3) ana bileşeni ele aldık. Rotalara ve bunların nasıl tanımlanacağına, denetleyicilere ve rota isteklerine yanıt veren yöntemlerin nasıl oluşturulacağına baktık ve kullanıcılara bir kaynak talebinde bulunduklarında döndürülen basit görünümler oluşturduk.