0

脂肪のないフレームワークの上に MVC フォルダー構造をカスタム作成しようとしていcontrollersます。2 つのファイルを含むフォルダーがbase.phpあり、index.php. 今、私は次のようなインデックスファイルをロードしようとしています:

$f3->route('GET /','Index->index');

しかし、致命的なエラーが発生します:

Fatal error: Class 'controllers\Base' not found

base.php のコード:

<?php
namespace controllers;
class Base extends \Prefab {
    protected $f3;

    public function __construct() {
        $this->f3 = \Base::instance();
    }
}

index.php のコード

<?php
namespace controllers;
class Index extends Base {

    public function __construct() {
        parent::__construct();
    }

    public function index($f3, $params) {
        echo "Hello World!";
    }
}

私が間違っていることは何ですか?

4

1 に答える 1

0

controllersフォルダーは、フォルダーのサブフォルダーである必要がありますAUTOLOAD。このようなもの:

- autoload
 |- controllers
   |- base.php
   |- index.php
- lib
 |- base.php
- index.php

ルートの index.php は次のようになります。

$f3=require('lib/base.php');
$f3->set('AUTOLOAD','autoload/');
$f3->route('GET /','controllers\Index->index');

PS: あなたの例で起こったことは、controllersフォルダが自動ロード フォルダとして宣言されbase.phpindex.phpルート名前空間の一部として見られたことです。

于 2014-03-08T10:13:46.607 に答える