Всем привет. У меня такая проблема Fatal error: Call to a member function gethello() on a non-object эта ошибка вылазит если url равен site.com но если туда вписать site.com/index то всё отрабатывает отлично. Как можно это исправить? Может нужно какой то дополнительный класс создать во view специально для главной страницы? Я просто что только не пробовал.. Спасибо! Я не использую никаких фреймворков система построена на видео некоего JREAM https://www.youtube.com/playlist?list=PL7A20112CF84B2229&feature=view_all Смысл в том что бы я мог передать данные между modеl и view через controller при этом не добавляя в урл сайта site.com/index а просто site.com
можно я не буду смотреть видео? тебе надо подсказать как строку "name/" превратить в "name/index", так?
мне нужно передать данные из модели во вью через контроллер при этом урл стартовой страницы должен быть не "site.com/index" а "site.com" а сейчас "site.com/index" - отрабатывает а "site.com" - не работает. Спасибо даже если в контроллере прописать метод то он не работает во view пока к урл не допишешь index
Роутинг работает. При входе на сайт он сразу загружает страницу index проблема в том что на эту страницу я не магу передать данные из БД или любые другие
вероятно да. в адресе. то есть должны быть страницы: site.com - эта страница index (главная) в которую не поступают данные, а так - site.com/index поступают данные site.com/search - страница поиска site.com/message - страница сообщений site.com/и т п то есть я так понимаю что нужно создать отдельное условие для страницы index но незнаю как это сделать и где именно. Fatal error: Call to a member function gethello() on a non-object in Z:\home\site.com\www\controllers\index.php on line 8 Добавлено спустя 48 минут 33 секунды: Ладно я так понял что легче создать метод для вызова данных из БД в контроллере а потом создать копию класса во view и всё
вот я тебе пытаюсь подсказать: если в твоей схеме роутинга проблематично описать обработчик адреса типа "/" сделай в роутере проверку на такое условие и обрабатывай как "/index". как правило, если в папке «folder» есть «index.html», то на обращение просто к «folder/» выдается этот файл! аналогия понятна?
Я понял спасибо. Только причём тут роутинг? вот роутинг он просто переводит пользователя в контроллер index если отсутствует $url[0] то есть site.com/'index' Код (Text): if(empty($url[0])){ require_once 'controllers/index.php'; $controller=new Index(); $controller->index(); return false; } а вот сам контроллер index Код (Text): class Index extends Controller { function __construct() { parent::__construct(); } function index(){ $this->view->gethello=$this->model->gethello(); $this->view->render('index/index'); } } index view Код (Text): echo $this->gethello; //и это не работает А в view уже идёт обработка что показывать Код (Text): public function render($name,$noinclude=false){ if($noinclude){ require_once 'views/'.$name.'.php'; }else{ require_once 'views/header.php'; require_once 'views/'.$name.'.php'; require_once 'views/footer.php'; } } Я так понимаю вся проблема вот в этом коде. хотя я магу ошибаться. Та и вообще я уже блин сам запутался
sharomet можешь предоставить (когда сделаешь) реализацию регистрации или авторизации в своем MVC, мне просто хотелось бы взглянуть на реализацию, т.к. я не понимаю зачем разделять controller и model,по мне это должен быть один класс, один файл.
почему нельзя взять какой либо фреймворк и не насиловать свой мозг? для развития? дак ты больше вырастишь, посматривая как делать правильно. не теряй времени (его мало). выбирай инструменты, а не изобратай. ты же берешь нож, чтоб намазать масло,, а не выколачиваешь его из камня