⊗ppMVDFmCn 28 of 35 menu

PHP හි ඔබේම MVC රාමුවේ පාලකයන්

ඔබ දැනටමත් දන්නා පරිදි, අපගේ රාමුවේ සියලුම පාලකයන්ට render ක්‍රමය ඇත, එය දැක්මකට දත්ත යැවීම සඳහා ඇමතිය යුතුය. මෙම ක්‍රමය අපගේ, පරිශීලක පාලකයන් මූලයේ පිහිටා ඇති මව් පන්තිය Controller වෙතින් උරුම කර ගනී. අපි මෙම පන්තිය සාදමු:

<?php namespace Core; class Controller { protected function render($view, $data) { } } ?>

ඔබට පෙනෙන පරිදි, render ක්‍රමය පරාමිතියක් ලෙස දසුනේ නම සහ පෙන්වීම සඳහා දත්ත ලබා ගනී. මෙම ක්‍රමය විශේෂ පන්තියක වස්තුවක් Page, ආපසු ලබා දෙන්න පාලක ක්‍රියාවේ දත්ත දර්ශනය පිළිබඳ තොරතුරු අඩංගු වේ. මෙම පන්තියේ දසුනේ නම, දත්ත, තවද පිටුවේ මාතෘකාව සහ අඩවියේ පිරිසැකසුම් ගොනුවේ නම අඩංගු වේ:

<?php namespace Core; class Page { private $layout; private $title; private $view; private $data; public function __construct($layout, $title, $view, $data) { $this->layout = $layout; $this->title = $title; $this->view = $view; $this->data = $data; } public function __get($property) { return $this->$property; } } ?>

එවිට අපගේ render ක්‍රමයේ කේතය මෙසේ පෙනෙනු ඇත:

<?php namespace Core; class Controller { protected $layout = 'default'; protected function render($view, $data) { return new Page($this->layout, $this->title, $view, $data); } } ?>

මෙහි සිදුවන්නේ කුමක්දැයි මම පැහැදිලි කරමි. දසුනේ නම සහ දත්ත ක්‍රමයේ පරාමිති ලෙස පැමිණේ. කෙසේ වෙතත්, පරිශීලක පාලකයේ තවත් පිටුවේ මාතෘකාවක් දක්වා ඇත - දේපල ලිවීමෙන් title. එනම්, $this->title හි අපි ලබා දෙන මාතෘකාව අඩංගු වනු ඇත පන්තියේ ඉදිකිරීම්කරු වෙත Page.

පිරිසැකසුම් සමඟ ද සූක්ෂ්මතා ඇත. ඔබ දන්නා පරිදි, අපගේ රාමුව ගොනුවෙන් පිරිසැකසුමක් භාවිතා කරයි default.php. ඇත්ත වශයෙන්ම, සෑම ක්‍රියාවකටම වෙනත් පිරිසැකසුමක් තිබිය හැකිය. සඳහා මෙය ක්‍රියාවල දේපල layout හි කළ යුතුය වෙනත් පිරිසැකසුම් නමක් ලියන්න.

මෙය සාක්ෂාත් කර ගන්නේ කෙසේද: අපගේ මව් පාලකයාට දේපල layout, පෙරනිමියෙන් අගය 'default.php'. මෙය පෙරනිමි පිරිසැකසුම වනු ඇත. කෙසේ වෙතත්, නම් පරිශීලක පාලක ක්‍රියාව දේපලේ අගය නැවත අර්ථ දක්වයි layout, එවිට පිරිසැකසුම වෙනස් වනු ඇත.

මගේ පන්තියේ කේතය Controller පිටපත් කර එය ගොනුවේ තබන්න /core/Controller.php.

මගේ පන්තියේ කේතය Page සහ එය ගොනුවේ තබන්න /core/Page.php.

සිංහල
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න