[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Namesapce и Автозагрузка
ELked
почему подключается как require(indexController.php)

а не require(Core/Controller/IndexController.php)
<?php
ini_set('display_errors', 1);
use Core\Controller\Controller;
use Core\Router\Router;
define('BASE_PATH', dirname(__FILE__));

function __autoload($class){
$class = str_replace("\\", DIRECTORY_SEPARATOR, $class);
require $class.".php";


}

try{
$route=new Router;


$route->_init();

} catch (Exception $ex){

echo $ex->getMessage(), "\n";
}


Роутер: Роутер
Контроллер в Core/Controller/Controller.php
<?php
namespace Core\Controller;

class Controller{
public function index(){
echo "<pre>Controller</pre>";
}
}
T1grOK
Namespace учитывайте в автолоаде. http://www.sitepoint.com/autoloading-and-the-psr-0-standard/

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
ELked
Ну я заменил на пример из PSR-0, и понял что namespace Core\Router видит, а Core\Controller нет. Как поправить?
chee
Надо было зарегистрировать автолоадер
http://ru2.php.net/manual/ru/function.spl-...ad-register.php

Пути до класса указываются с учетом неймспейсов.
В файле твой код, но в рабочем состоянии

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

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