fork download
  1. <?php
  2.  
  3. >>390177
  4.  
  5. > Далее вот это непонятно: $this->router->map($route);
  6.  
  7. > По alt+click sublime меня отправляет на функцию router. Но тут-то без (), значит это свойство класса, но его там нет.
  8.  
  9. Sublime ищет только функции и классы по Alt + Click. По слову router кликать бесполезно, надо найти место в классе (скорее всего конструктор) где это поле инициализируется.
  10.  
  11. Но явно поле router в классе не задано. В конструкторе мы можем увидеть только такую конструкцию:
  12.  
  13. // Default router
  14. $this->container->singleton('router', function ($c) {
  15. return new \Slim\Router();
  16. });
  17.  
  18. Это так называемые синглетоны в Слиме (документация: http://d...content-available-to-author-only...k.com/#DI-Overview )
  19.  
  20. Это значит что при первом обращении к свойсвту router Слим вызовет функцию (и создаст объект Slim\Router) а при втором и далее будет просто возвращать существующий объект.
  21.  
  22. Слим реализует это за счет магического метода _ _ get ( http://p...content-available-to-author-only...p.net/manual/ru/language.oop5.overloading.php )
  23.  
  24. Таким образом map это метод класса Slim\Router.
  25.  
  26. Функция get('/', function ...) просто создает объект Route (маршрут или правило разбора URL) и добавляет его в список правил внутри Slim\Route (роутера).
  27.  
  28.  
Runtime error #stdin #stdout #stderr 0.01s 20592KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
PHP Parse error:  syntax error, unexpected '>>' (T_SR) in /home/6mAKe2/prog.php on line 3