CodeIgniter MVC (Model Görünüm Denetleyicisi) Örneği Çerçevesi

İçindekiler:

Anonim

MVC nedir?

Model-View-Control için MVC standartları. Uygulamayı üç ana bileşene ayıran mimari bir modeldir.

1. Model, iş mantığı ve veritabanı etkileşimleriyle ilgilenir

2. Denetleyici, model ve görünüm arasındaki etkinlikleri koordine eder

3. Veri sunumundan View sorumludur

Aşağıdakiler, MVC mimari modelinin avantajlarından bazılarıdır

  • Gevşek kaplin - bileşenler mevcuttur ve birbirinden bağımsız olarak çalışır.
  • Esneklik - tek tek bileşenlerde kolayca değişiklik yapılabilir
  • Artan verimlilik - aynı anda birden fazla kişi proje üzerinde çalışabilir. Ön uç geliştiriciler görünümler ve sunum üzerinde çalışırken, arka uç geliştiriciler modellere odaklanabilir ve sistem gevşek bir şekilde bağlandığı için günün sonunda çalışır.

Bu eğitimde şunları öğreneceksiniz:

  • MVC nedir?
    • Modeli
    • Kontrolör
    • Görünüm
  • MVC çerçeveleri nasıl çalışır?
  • CodeIgniter Denetleyici
  • CodeIgniter Modeli

Modeli

Model, veri kaynaklarıyla etkileşimden sorumludur. Bu genellikle bir veritabanıdır, ancak istenen verileri sağlayan bir hizmet de olabilir. Denetleyicinin aksine modellerde bulunan iş mantığına sahip olmak da yaygın bir uygulamadır. Bu uygulamaya genellikle şişman model sıska kontrolör denir.

Model genellikle verileri veritabanına yazar, verilerin düzenlenmesi, güncellenmesi ve silinmesi için bir mekanizma sağlar. Modern bir web uygulamasında modeller, veritabanıyla etkileşimi kolaylaştırmak için aktif kayıt gibi veri erişim tasarım modellerini kullanır.

Örneğin, CodeIgniter modellere yardımcı olmak için yerleşik bir kütüphane Active Record kullanırken Laravel gibi diğer çerçeveler veri erişimine yardımcı olan Eloquent Object Relational Mapper (ORM) kullanır.

Kontrolör

Denetleyici, kullanıcılardan gelen kaynak isteklerini dinler. Model ve görünüm arasında aracı görevi görür ve bazen bazı iş kurallarını da uygular. Denetleyicinin bir kullanıcıyı veritabanına kaydetme isteği aldığını varsayalım.

Kontrolör, gerekli tüm parametrelerin sunulduğundan emin olmak için gönderilenler üzerinde veri doğrulaması yapabilir. Eksik bir şey varsa, kullanıcı uygun hata mesajıyla birlikte kayıt sayfasına yönlendirilir. Kontrolör ayrıca, gönderilen e-posta adresinin zaten mevcut olup olmadığını kontrol ederek modelden daha fazla doğrulama gerçekleştirmesini isteyebilir. Tüm doğrulama kuralları geçerse, denetleyici verileri işlem için modele gönderir ve yanıtı bekler.

Model bilgileri işledikten ve olumlu bir yanıt verdikten sonra, denetleyici uygun görünümü yükler ve modelden döndürülen verileri parametre olarak geçirir.

Görünüm

Görünüm, son kullanıcıya sunulan verilerle ilgilenir. Web uygulamalarında, görünümler genellikle HTML, CSS ve isteğe bağlı olarak JavaScript içerir. Görünümler minimum programlama kodunu içerir. Görünümlerde bulunan kod, genellikle verileri temizlemek veya kayıtları düzenlemek için bağlantılar oluşturmak için modelden veya yardımcı işlevden parametreler olarak alınan veri koleksiyonları arasında döngü yapmak için kullanılır. Çoğu modern web uygulaması genellikle kendi sözdizimini tanımlayan, daha çok sözde kod gibi olan ve tasarımcılar tarafından kolayca anlaşılabilen şablon oluşturma motorları kullanır. CodeIgniter ile çalışırken, kısa PHP etiketleri ve kontrol yapıları kullanmak yaygın bir uygulamadır. CodeIgniter'da bir şey görüntülemek için aşağıdaki kod kullanılabilir


Aksine

Kontrol yapıları genellikle şu şekilde yazılır


Yukarıdaki örnekten de görebileceğiniz gibi, görünüm her şeyi saf PHP kodu içine almak yerine PHP ve HTML kombinasyonunu kullanacaktır.

MVC çerçeveleri nasıl çalışır?

Aşağıdaki görüntü MVC çerçevesinin çalışmalarını gösterir

Bir denetleyici, kullanıcıdan isteği alır, gerekirse veritabanı modeliyle etkileşime girer, ardından sonucu tarayıcının insan tarafından okunabilir bir biçime yorumladığı ve kullanıcıya görüntülediği HTML kodu biçiminde tarayıcıya geri döndürür.

CodeIgniter Denetleyici

Şimdi yukarıdaki URL'yi web tarayıcısına yüklediğimizde ne olduğunu inceleyelim.

Welcome.php controller bulunan application / controllers dosyasını açın

Aşağıdaki kodu görebilmelisiniz

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

İŞTE,

  • tanımlı ('BASEPATH') VEYA çıkış ('Doğrudan komut dosyası erişimine izin verilmez'); istek index.php aracılığıyla gelmediyse denetleyiciye doğrudan erişimi engeller. bu güvenlik amaçlıdır.
  • Sınıf Welcome, CI_Controller'ı genişletir {…}, Welcome denetleyici sınıfını tanımlar ve CI_Controller üst sınıfını genişletir
  • public function index () {…}, http: // localhost: 3000 URL'sine yanıt veren dizin yöntemini tanımlar
    • $ this-> load-> view ('welcome_message'); application / views dizininde bulunan welcome_message görünümünü yükler

Şimdi indeks yöntemini aşağıdaki gibi güncelleyeceğiz

public function index(){$this->load->model('customers_model');$data['customer'] = $this->customers_model->get_customer(3);$this->load->view('welcome_message',$data);}

İŞTE,

  • $ this-> load-> model ('customers_model'); müşteri modelini yükler.
  • $ veri ['müşteri'] = $ this-> customers_model-> get_customer (3); customers_model'in get_customer yöntemini çağırır ve parametre 3'e geçer. Bu örnekte, değeri sabit kodladık, ancak gerçek hayattaki uygulamalarda bu, URI'den bir parametre olacaktır.
  • $ this-> load-> view ('welcome_message', $ data); welcome_message görünümünü yükler ve $ data değişkenini görünüme aktarır

CodeIgniter Modeli

Şimdi yukarıdaki kodda referans verdiğimiz görünümü oluşturalım. Basit olması için, modelimiz veri tabanı ile etkileşime girmeyecek, ancak statik bir müşteri kaydı döndürecektir. Sonraki eğitimlerde veritabanları ile çalışacağız.

Uygulama / modellerde bir müşteri_model.php dosyası oluşturun

Aşağıdaki kodu ekleyin


İŞTE,

  • class customers_model extends CI_Model {…}, CI_Model'i genişleten Customer_model modelini tanımlar.
  • public function get_customer ($ id) {…} bir müşteri kimliğine göre müşteri alma yöntemini tanımlar
  • $ data […] hayali müşterimizin statik değerlerini tanımlar. Bu, veritabanından döndürülen bir satır olmalıdır.
  • $ veri döndür; müşteri verilerini döndürür.

Yani modelimiz için. Şimdi welcome_message görünümünü değiştirelim

Şu konumda bulunan welcome_message.php dosyasını açın

application/views/welcome_message.php

Kodu aşağıdaki ile değiştirin

CodeIgniter MVC Basics

Customer Details Card

Customer ID :

First Name :

Last Name :

Address :

Değişiklikleri kaydedin

Aşağıdaki URL'yi web tarayıcısına yükleyin

http: // localhost: 3000 /

Aşağıdaki resimde gösterildiği gibi müşteri kartını görebilmelisiniz

Özet

  • MVC, uygulamayı üç ana bileşene ayıran mimari bir modeldir
  • Model, veri kaynaklarıyla etkileşimden sorumludur
  • Denetleyici, kullanıcılardan gelen kaynak isteklerini dinler
  • Web uygulamalarında, görünümler genellikle HTML, CSS ve isteğe bağlı olarak JavaScript içerir
  • Bir denetleyici, kullanıcıdan isteği alır, gerekirse veritabanı modeliyle etkileşim kurar ve ardından sonucu tarayıcıya HTML kodu biçiminde geri döndürür.