0
嗨,自動加載磁帶機不是簡單的PHP文件的工作,而不一個類文件
我用一個簡單的模型 - 視圖 - 控制器結構,我真的新手在此。我會告訴你上下文:
我的index.php
需要url myweb.com/index.php?controller=access&action=login
並要求base.php
顯示頁眉和頁腳。
的index.php:
if (isset($_GET['controller']) && isset($_GET['action'])) {
$controller = $_GET['controller'];
$action = $_GET['action'];
} else {
$controller = 'error';
$action = 'notfound';
}
spl_autoload_register();
require_once('app/base.phtml');
的base.php
把頁眉和頁腳的HTML代碼,並且例如是所謂的Router
類重定向取決於控制器的url和動作所述請求。請注意,我正在使用spl_autoload_register();
自動載入我的課程。
應用程序/ base.php:
<!-- header code here -->
use src\model\Router;
$router = new Router();
$router->callView($controller, $action);
<!-- footer code here -->
的src /模型/ Router.php:
namespace src\model;
class Router
{
function callView($controller, $action)
{
// code here that calls a controller to show a view
}
}
的事情是,當我需要從base.php
的Router
,我得到此錯誤:
Fatal error: spl_autoload(): Class src\model\Router could not be loaded in /var/www/myweb/app/base.php on line 59
我的事情我的路徑是正確的,也許我忘記了一些東西。當我從其他類使用'命名空間'時,自動加載器會工作,但當我從簡單的php文件使用它時,它不起作用。
的結構如下:
myweb
|- app/
| |-- view/
| | |-- login.php
| |-- base.php
|
|- src/
| |-- controller/
| | |-- AccessController.php
|
|- model/
| |-- Router.php
|
|- index.php
|- .htaccess
PD:
- 我知道我必須消毒GET請求,但是這僅僅是一個例子。
- 謝謝你的幫助:)
你該死的權利!它工作完美。我添加在我的index.php的頂部。 –