PHP-də MVC-də View-lər

İndi gəlin hərəkətlərimizə View-lər əlavə edək. Framework-ümüzün qaydalarına görə View-lər /project/views/ qovluğunda saxlanılır.

Bundan əlavə, framework-ümüzdə bir razılaşma fəaliyyət göstərir: View faylının adı hərəkətin adı ilə üst-üstə düşməli və controller-in adı ilə eyni adlanan qovluqda yerləşdirilməlidir. Məsələn, əgər bizim PageController controller-imiz varsa, onda onun bütün View-ləri /project/views/page/ qovluğunda saxlanılmalıdır. View faylının özü .php genişlənməsinə malik olmalıdır. Məsələn, əgər PageController controller-ində act hərəkəti varsa, onda onun View-i /project/views/page/act.php-də yerləşdirilməlidir.

Hər hansı bir hərəkətə View təyin etmək üçün, bu hərəkət render metodunu çağırmalı, ona parametr kimi View-in adını ötürməlidir. View-in adı kiçik hərflə yazılmış controller adından ibarət olmalı, onun ardınca / vasitəsilə hərəkətin adı yazılmalıdır.

render metodu controller-də implementasiya edilməməlidir - o, ana Core\Controller sinfindən miras alınır. Bundan əlavə, metodun düzgün işləməsi üçün onun iş nəticəsi return vasitəsilə qaytarılmalıdır.

Beləliklə, fərz edək ki, bizim Page controller-imiz act hərəkəti ilə mövcuddur. Gəlin bu hərəkətə View əlaqələndirək:

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

İndi isə View-imizin HTML kodu olan faylı yaradaq:

/project/views/page/act.php<div>
  bu, page controller-inin act hərəkətinin View-idir
</div>
Задание 1

Təsvir olunan manipulyasiyaları yerinə yetirin, sonra isə brauzerin ünvan sətrindən hərəkətimizə müraciət edin. Əmin olun ki, brauzerdə yaratdığınız View-dən olan mətn peyda olacaq.