在Fat Free框架中使用命名空间

时间:2013-12-15 20:54:55

标签: php fat-free-framework

我正在尝试使用Fat Free中的命名空间。 一切正常,但当我点击名称空间时, 我明白了:

内部服务器错误

Fatal error: Class 'Gadgets\iPad' not found

这是我的代码:

的index.php

$f3=require('lib/base.php');

$f3->set('AUTOLOAD','ui/');

$f3->route('GET /', function(){

$obj=new Gadgets\iPad;

echo $obj->hallo('cat');

});

$f3->run();

UI / iPad.php

namespace Gadgets;

class iPad { 

    function hallo($word){ echo $word;}}

谢谢

1 个答案:

答案 0 :(得分:2)

您的类文件应出现在ui\Gadgets文件夹(完整路径:ui\Gadgets\iPad.php)中,以便F3查找并自动加载它。有关F3自动加载器行为的详细信息,请参阅this answer

要回答您的评论“我认为我必须使用命名空间,因此我不必制作小工具文件夹”,请注意以下两点:

  • 命名空间可以帮助您组织代码:将与常用功能相关的所有类存储到同一个命名空间中。
  • autoloader 可以帮助您整理文件:为每个文件存储一个课程,并停止关注requireinclude来电。

两种功能(名称空间/自动加载器)都是可选的。如果您理解并需要它们,请使用它们。