За последние 24 часа нас посетили 16358 программистов и 1586 роботов. Сейчас ищут 1545 программистов ...

Composer ClassMap

Тема в разделе "PHP для новичков", создана пользователем abler98, 17 окт 2014.

  1. abler98

    abler98 Активный пользователь

    С нами с:
    31 авг 2014
    Сообщения:
    43
    Симпатии:
    0
    Почему не работает вот это:
    Код (PHP):
    1. <?php
    2.  
    3. $loader = require_once BASE_DIR . '/vendor/autoload.php';
    4.  
    5. $loader->addClassMap(array(
    6.     BASE_DIR . '/application/controllers/',
    7.     BASE_DIR . '/application/library/',
    8. ));
    9.  
    10. $loader->register(); 
    Вот здесь срабатывает исключение:
    Код (PHP):
    1. <?php namespace Redozote\Foundation;
    2.  
    3. class Router {
    4.     public $routes = array();
    5.     
    6.     private $controller = false;
    7.     private $action = false;
    8.     
    9.     public function add($request, $paths) {
    10.         $this->routes[$request] = $paths;
    11.     }
    12.     
    13.     public function handle() {
    14.         $request = $_SERVER['REQUEST_URI'];
    15.         $paths = isset($this->routes[$request]) ? $this->routes[$request] : false;
    16.         if (is_array($paths)) {
    17.             $this->controller = $paths['controller'];
    18.             $this->action = $paths['action'];
    19.         } else if (is_string($paths)) {
    20.             $paths = explode('::', $paths);
    21.             $this->controller = $paths[0];
    22.             $this->action = $paths[1];
    23.         }
    24.         return $this;
    25.     }
    26.     
    27.     public function getContent() {
    28.         $controller = ucfirst($this->controller) . 'Controller';
    29.         $action = $this->action . 'Action';
    30.         
    31.         if (class_exists($controller)) {
    32.             echo $controller;
    33.             $object = new $controller();
    34.             if (method_exists($object, $action)) {
    35.                 return call_user_func_array(array($object, $action));
    36.             } else {
    37.                 throw new \Exception(sprintf('Action \'%s\' in \'%s\' not found', $action, $controller));
    38.             }
    39.         } else {
    40.             # Вот здесь срабатывает исключение
    41.             throw new \Exception(sprintf('Controller \'%s\' not found', $controller));
    42.         }
    43.     }
    44. } 
    Добавлено спустя 40 минут 51 секунду:
    Все, я уже понял свою ошибку, я думал это функция по-другому работает)