PHP包含我的迷你框架类 - 错误

时间:2013-09-05 16:32:17

标签: php include fatal-error

快速提问。我有mvc(我的迷你框架;))用于教育。

https://github.com/aras123/MiniFramework

如果我在root base中创建文件test.php(例如)。

test.php的

<?php 
class Example {
    public function __construct() {
    echo 'This is example!';
    }
}

在我的框架中为IndexController创建操作,并希望包含并运行类

应用/控制器/ IndexController.php

<?php
namespace Application\Controller;
use Framework\Controller;

class IndexController extends Controller {
    public function _init() {
    }

    public function IndexAction() {
        require 'test.php'; //path is ok
                $aaa = new Example(); //is error 
    }

错误消息:

Fatal error: Class 'Application\Controller\Example' not found in
/Application/Controller/IndexController.php on line ...

2 个答案:

答案 0 :(得分:1)

他们的自动加载器工作方式,它不会拾取您创建的文件。这里有两个解决方案,要么你的控制器顶部有一个包含

<?php
namespace Application\Controller;
require __DIR__ . '/../../test.php';
// ...

或者,您将test.php移至Application\Controller并将其重命名为Example.php

我会建议后者

答案 1 :(得分:0)

是的!这是一个很好的代码:

<?php
namespace Application\Controller;
use Framework\Controller;

class IndexController extends Controller {
    public function _init() {
    }

    public function IndexAction() {
        require 'test.php'; //path is ok
                $aaa = new \Example(); //now is ok!
    }