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:
<?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:
<div>
bu, page controller-inin act hərəkətinin View-idir
</div>
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.