我正在使用 MVC架构开发一个PHP项目。在我的项目文件中,我有index.php
文件以及model
文件夹,controller
文件夹和view
*文件夹。
在我的索引文件中,我编写了这段代码:
`<?php
include("./controller/controllerUser.php");
$ocont = new controllerUser();
if (isset($_GET['action']) && !empty($_GET['action'])) {
$ocont->{$_GET['action']}();
}
?>`
controllerUser (位于控制器文件夹内)将网站重定向到我的 ViewLogin 文件(位于视图文件夹< / strong>),直到这里一切正常。
问题是,当我点击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 :(得分:0)
一个修复是定义应用程序根文件夹。示例
APP_ROOT =&#39; c:\ www&#39;;
或在这种情况下:
APP_ROOT =&#39; D:\ wamp \ www \ projetphp&#39;;
然后每个文件都包含以下文件:
包括(APP_ROOT。&#39; \ controller \ controllerUser.php&#39;);
创建一个&#34; config.php&#34;这是一个好主意。并定义&#39; APP_ROOT&#39;在配置文件中。然后每个文件包含&#34; config.php&#34;在顶部确保APP_ROOT始终以相同的方式定义在包含config.php的每个文件中。如果根更改,也可以轻松更新APP_ROOT。我希望这会有所帮助。