अपने MVC फ्रेमवर्क में रूट के साथ काम करना

आप पहले से ही जानते हैं कि फ़ाइल /project/config/routes.php में रूट्स होते हैं, जो URL और नियंत्रकों (कंट्रोलर) के बीच पत्राचार निर्दिष्ट करते हैं। रूट्स कक्षा Route की वस्तुएं हैं। आइए इस कक्षा को फ़ाइल /core/Route.php में बनाएं:

/core/Route.php<?php
  namespace Core;
  
  class Route
  {
    private $path;
    private $controller;
    private $action;
    
    public function __construct($path, $controller, $action)
    {
      $this->path = $path;
      $this->controller = $controller;
      $this->action = $action;
    }
    
    public function __get($property)
    {
      return $this->$property;
    }
  }
?>

जैसा कि आप देख रहे हैं, इस वर्ग में गुण केवल पढ़ने के लिए हैं, जो जादू (मैजिक) के उपयोग से प्राप्त किया जाता है।

अब रूट वाली फ़ाइल में देखें। आप देख सकते हैं कि वहां एक सरणी है जो return के माध्यम से वापस आती है। इसका मतलब है, कि यदि require के माध्यम से ऐसी फ़ाइल को शामिल किया जाए, तो शामिल करने का परिणाम एक चर में लिखा जा सकता है और इस चर में हमारी सरणी होगी:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // ऑटोलोडिंग का आपका कार्यान्वयन
  });
  
  // रूट वाली फ़ाइल से सरणी को वेरिएबल में पढ़ें:
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

मेरी कक्षा Route की कोड की प्रतिलिपि बनाएँ और इसे फ़ाइल /core/Route.php में रखें।

Задание 2

फ़ाइल index.php में रूट के साथ सरणी प्राप्त करें।