[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не подключаеться класс, хотя class_exists его види
Zzepish
Есть такой метод:
    protected function routerBuildPath(array $routerData){
if(class_exists($this->controllersPath.'\\'.$routerData[0]))
return $this->controller = new $this->controllersPath.'\\'.$routerData[0];

return $this->controller = new $this->controllersPath.'\\'.$this->defaultRouterData['controller'];
}

class_exists срабатывает, но сам экземпляр не может создать:
Цитата
Fatal error: Uncaught Error: Class 'mvc\controllers'


В чем может быть проблема?
chee
На всякий случай попробуй так

protected function routerBuildPath(array $routerData){
if(class_exists($this->controllersPath.'\\'.$routerData[0])) {
return $this->controller = new $this->controllersPath.'\\'.$routerData[0];
}
return $this->controller = new $this->controllersPath.'\\'.$this->defaultRouterData['controller'];
}


_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Zzepish
Проблему решил таким способом:
        $routerData[0] = $this->controllerPrepare($routerData[0]);
$controller = $this->controllersPath.'\\'.$routerData[0];

if(
!
class_exists($controller)
|| !
$this->validateController($routerData[0])

)

$controller = $this->controllersPath.'\\'.$this->defaultRouterData['controller'];

return $this->controller = new $controller;

Но интересно было бы узнать - почему предыдущий не сработал?
Zzepish
chee
не сработал!
Кстати - различия между нашими кодами я не уловил(
T1grOK
Цитата (Zzepish @ 7.04.2016 - 14:16)
Но интересно было бы узнать - почему предыдущий не сработал?

Даю подсказку
http://php.net/manual/ru/language.operators.precedence.php

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
chee
Цитата (Zzepish @ 7.04.2016 - 18:18)
Кстати - различия между нашими кодами я не уловил(

Ну блок с условием выделен явно. Да, в данном случае это бесполезно, так как причина была в другом.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Zzepish
T1grOK
Огромное спасибо!!!! ты прав! тут я тупонул
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.