Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2012
Помог: 0 раз(а)
Разбираюсь с моделью MVC.
Есть структура файловой системы сайта:
index.php (в корне сайта)
models/mcontent.php
controllers/ccontent.php
views/vcontent.php
config/config.php
config/db.php
связка с помощью include_once:
config<-db<-mcontent<-ccontent<-vcontent<-index
во всех инклудах использую относительные адреса подключаемых файлов:
в файлах mcontent, ccontent, vcontent подключение работает отлично, исползую возврат на уровень выше ../
Но как только очередь доходит до файла index, где нужно подключить файл vcontent, который находится в папке на уровень ниже, сразу начинаются проблемы...
Для проверки правильности кода скидывал все-все файлы в одну папку, инклуд на одному уровне работает отлично.... но вот с вариантом, описаныв выіше - нет..
Warning: require_once(../controllers/ccontent.php):
failed to open stream: No such file or directory in /var/www/localsite1/www/views/vc ontent.php on line 3
Fatal error: require_once():
Failed opening required '../controllers/ccontent.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/localsite1/www/views/vc ontent.php on line 3
Из того, что успел нагуглить, проблема кроется в файле конфигурации php-сервера, но нет никого, кто бы дал пинок в нужном направлении или тыкнуло носом.
это, как я понимаю выдает ошибку файл vcontroller, который не может открыть файл ccontent ? Если так, то vcontroller таки подключился?
Пробовал перекинуть индекс.пхп в папку views и оттуда подключить vcontent - все работает.
Может ли быть проблема в том, что в индексе я прописал путь через определение константы, а во всех других файлах я прописывал абсолютный путь? Или каким образом обьяснить тот фрагмент ошибки, который я описал выше?
DelphinPRO пишет:
да, еще посмотрите имена
view - views
это мои ошибки при написании сообщения. В проэкте все верно. Сейчас исправлю
Данил_123
Отправлено: 15 Мая, 2012 - 14:06:29
Участник
Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011 Откуда: rostov
Помог: 9 раз(а)
попробуйте выбрать весь путь, и корректировать под него
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
Ну раз пошла такая пьянка, MVC вам тут подавай, чего собственно мешает реализовать простенький autoload?? Или вы простите все ваши "инклуды" и контроллеры и модели собираетесь подключать вне зависимости нужны они вообще на той или иной странице или нет?)
Возможно такой подход немного упорядочит весь хлам в ваших головах. Это перекинет всю головную боль о всяких include_once на плечи функции, а лучше целого класса autoload... (Добавление)
Правда тут нужно будет стараться реализовывать какое-никакое ООП, да и пару правил, например "один класс - один php файл" итд, но страшного в этом мало.
Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2012
Помог: 0 раз(а)
sKaa пишет:
Правда тут нужно будет стараться реализовывать какое-никакое ООП, да и пару правил, например "один класс - один php файл" итд, но страшного в этом мало.
И, как я понимаю, нужно просто будет отказатся от путей, а все файлы хранить в одной папке? Ведь, повторюсь, проблема именно с подгрузкой файлов в другой директории (стоящей на уровни ниже) - подгрузка файлов с директории на уровень выше или на одном уровне работает без проблем.
Ведь при реализации автоподгрузки все равно нужно будет использовать путя для подгрузки файлов, а ведь с ними и проблема какая-то...
или я совсем уже ничего не понимаю..
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.