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 bir CodeIgniter projesi oluşturun

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

Yeni bir CodeIgniter projesi oluşturun

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

CodeIgniter Yönlendirme

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

CodeIgniter'da Görünüm Oluşturma

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.