ඔබගේම MVC රාමුවේ රවුටර් ක්රියාත්මක කිරීම
අපගේ කැඳවීම්වලට අනුව දැන් අපි Router පන්තියේ හැඩතලය ලියමු:
/core/Router.php<?php
namespace Core;
class Router
{
private $routes;
public function getTrack($routes, $uri)
{
// මෙහි කේතය ඇත
}
}
?>
getTrack ක්රමයේදී, දී ඇති $uri ට ගැලපෙන රවුට් කුමක්දැයි අප තීරණය කළ යුතුය.
මෙය සිදු කිරීම සඳහා අපගේ රවුට් අරාව ලූපයක් සමඟ හරස් කළ යුතුය:
/core/Router.php<?php
namespace Core;
class Router
{
public function getTrack($routes, $uri)
{
foreach ($routes as $route) {
// $uri සහ $route පරීක්ෂා කිරීම
}
}
}
?>
යම් රවුට් එකක් URI ට ගැලපෙන්නේ නම්, අපි
එම URI වලින් රවුට් පරාමිතීන්ගේ අගයන් ලබා ගත යුතුය
සහ Track පන්තියේ වස්තුවක් ආපසු ලබා දිය යුතුය:
/core/Router.php<?php
namespace Core;
class Router
{
public function getTrack($routes, $uri)
{
foreach ($routes as $route) {
if (රවුට් සහ URI ගැලපුම පරීක්ෂා කිරීම) {
$params = ; // uri වලින් පරාමිතීන් ලබා ගත යුතුය
return new Track($route->controller, $route->action, $params);
}
}
return new Track('error', 'notFound'); // කිසිදු රවුට් එකක් ගැලපෙන්නේ නම්
}
}
?>
Задание 1
මගේ Router පන්ති හැඩතලය පිටපත් කර
එය /core/Router.php ගොනුවේ තබන්න.
Задание 2
Track පන්තියේ වස්තුවක් ආපසු ලබා දෙන Router පන්තිය විස්තර කළ පරිදි ක්රියාත්මක කරන්න.
ඔබට දුෂ්කරතා ඇත්නම්
(එය ඉතා විය හැකිය), ඔබ භාවිතය අධ්යයනය කළ
MVC රාමුවේ මූලාශ්ර කේතය බලන්න. එහි Router පන්තියේදී ඔබට
ක්රියාත්මක කිරීමේ නොමැති කොටස සහ ඒ සඳහා මගේ අදහස්
සොයා ගත හැකිය.