PHP'de MVC'de Görünümler

Şimdi eylemlerimize görünümler ekleyelim. Çerçevemizin kurallarına göre görünümler /project/views/ klasöründe saklanır.

Ayrıca, çerçevemizde bir kural geçerlidir: görünüm dosyasının adı, eylemin adıyla eşleşmeli ve kontrolörün adıyla aynı olan bir klasörde bulunmalıdır. Örneğin, eğer PageController kontrolörümüz varsa, tüm görünümleri /project/views/page/ klasöründe saklanmalıdır. Görünüm dosyasının kendisi .php uzantısına sahip olmalıdır. Örneğin, eğer PageController kontrolöründe act eylemi varsa, görünümü /project/views/page/act.php konumuna yerleştirilmelidir.

Bir eyleme görünüm atamak için, bu eylemin render metodunu çağırması ve parametre olarak görünüm adını iletmesi gerekir. Görünüm adı, küçük harfle kontrolör adından oluşmalı, ardından / ile ayrılmış şekilde eylem adı yazılmalıdır.

render metodunun kontrolörde uygulanmasına gerek yoktur - üst sınıf Core\Controller'dan kalıtım yoluyla alınır. Ayrıca, metodun doğru çalışması için işlem sonucu return ile döndürülmelidir.

Pekala, elimizde Page kontrolörü ve act eylemi olduğunu varsayalım. Bu eyleme bir görünüm bağlayalım:

project/controllers/PageController.php<?php
  namespace Project\Controllers;
  use Core\Controller;
  
  class PageController extends Controller
  {
    public function act()
    {
      return $this->render('page/act');
    }
  }
?>

Şimdi görünümümüzün HTML koduna sahip dosyayı oluşturalım:

/project/views/page/act.php<div>
  bu, page kontrolörünün
  act eyleminin görünümüdür
</div>
Задание 1

Açıklanan işlemleri gerçekleştirin, ardından eyleminize adres çubuğu üzerinden erişin. Tarayıcınızda oluşturduğunuz görünümden gelen metnin göründüğünden emin olun.