2016-11-30 2 views
2

Я работаю над проектом PHP, используя MVC-архитектура. В моем файле проекта у меня есть файл index.php вместе с папкой model, папкой controller и папкой view *.Включая контроллер в php-код в файле вида

В моем индексном файле я написал этот код:

`<?php 
    include("./controller/controllerUser.php"); 
    $ocont = new controllerUser(); 
    if (isset($_GET['action']) && !empty($_GET['action'])) { 
    $ocont->{$_GET['action']}(); 
    } 
?>` 

controllerUser (находится в папке контроллера) перенаправлять на сайт моей ViewLogin файл (расположенный внутри зрения папка), до здесь все хорошо работает.

Проблема заключается в том, когда я нажимаю на значке вверх кнопку на моем viewLogin файла, он перенаправляет меня на ViewSignup файл (находятся в папке view), но я получаю эти ошибки:

Warning: include(..\Model\controllerUser.php) [function.include]: failed to open stream: No such file or directory in D:\wamp\www\projetphp\view\ViewSignup.php on line 45 
Warning: include() [function.include]: Failed opening '.\controller\controllerUser.php' for inclusion (include_path='.;C:\php\pear') in D:\wamp\www\projetphp\view\viewSignup.php on line 45 
Fatal error: Class 'controllerUser' not found in D:\wamp\www\projetphp\view\ViewSignIn.php on line 51 

Я думаю, что проблема связана с включением файла controllerUser в код PHP на странице ViewSignup.
Это мой код:

include ('.\controller\controllerUser.php'); 
$ocontuser = new controllerUser(); 
$ocontuser->Actions2_SignIn(); 

Я попытался это тоже, но получил больше ошибок:

include ('..\controller\controllerUser.php'); 
$ocontuser = new controllerUser(); 
$ocontuser->Actions2_SignIn(); 

Что я должен сделать, чтобы исправить эту ошибку?

ответ

0

Одним из исправлений является определение корневой папки приложения. Пример

APP_ROOT = 'c: \ www';

или в данном случае:

APP_ROOT = 'D: \ WAMP \ WWW \ projetphp';

Затем каждый файл содержит файлы, как это:

включают; (APP_ROOT '\ контроллер \ controllerUser.php'.)

Это хорошая идея создать «config.php» и определить «APP_ROOT» в файле конфигурации. Затем каждый файл включает в себя «config.php» вверху, гарантируя, что APP_ROOT всегда определяется одинаковым образом в каждом файле, в который включен config.php. Также легко обновить APP_ROOT, если корень изменится. Надеюсь, это поможет.

Смежные вопросы