PHP да MVC да представлениялар
Келингиз энди биз ҳаракатларимизга представленияларни қўшайлик.
Бизнинг фреймворк қоидаларимизга кўра представлениялар
/project/views/ папкасида сақланади.
Бундан ташқари, бизнинг фреймворкимизда
келишув мавжуд: представление файлининг номи
ҳаракат номи билан мос келиши ва
контроллер номи билан бир хил номланган папкада жойлашиши керак.
Мисол учун, агар бизда PageController контроллери бўлса,
унда унинг барча представлениялари
/project/views/page/ папкасида сақланиши керак. Ўзи
представление файли кенгайтмаси
.php бўлиши керак. Масалан, агар контроллерда
PageController act ҳаракати бўлса,
унда унинг представлениеси /project/views/page/act.php да жойлашиши керак.
Қандайдир бир ҳаракатга представлениени белгилаш учун,
бу ҳаракат render методни чақириши керак,
унга параметр сифатида представление номини ўтказган ҳолда. Представление номи
кичкна ҳарф билан ёзилган контроллер номидан иборат бўлиши,
ундан кейин / орқали ҳаракат номи
ёзилиши керак.
render методини контроллерда амалга ошириш
шарт эмас - у ота-она Core\Controller классидан мерос қолинган. Бундан ташқари,
методнинг тўғри ишлаши учун унинг иш натижаси
return орқали қайтарилиши керак.
Демак, бизда Page контроллери
act ҳаракати бор дейлик. Келингиз бу
ҳаракатга представлениени боглаймиз:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act()
{
return $this->render('page/act');
}
}
?>
Энди бизнинг представлениемизнинг HTML коди билан файл яратайлик:
<div>
бу представление
page контроллерининг act ҳаракати
</div>
Тасвирланган манипуляцияларни бажариб кўринг, сўнгра бизнинг ҳаракатимизга манзил сатри орқали мурожаат қилинг. Браузерда яратган представлениеингиздан матн пайдо бўлишига ишонч ҳосил қилинг.