2015-01-15 72 views
3

我想在我的config.ini文件中设置一个名为CONTROLLERPATH的全局变量,然后在我的index.php文件中使用该变量将GET请求路由到我的目录结构中正确的控制器。我正在做以下事情,F3无法确定CONTROLLERPATH的值。你可以使用index.php中配置文件的全局变量 - Fat Free Framework吗?

config.ini文件:

[global] 

DEBUG=3 
UI=ui/ 
CONTROLLERPATH='app/controllers/' 

在我index.php文件:

$f3->config('config.ini'); 
$f3->route('GET /', CONTROLLERPATH . 'indexController->index'); 

我也曾尝试沟的config.ini方式和设置controllerPath的值作为我的指标如下。 php文件,它仍然不起作用:

$f3->set('controllerPath', 'app/controllers/'); 

回答

3

变量定义ini文件是framework variables,而不是PHP常量。

这意味着,他们是通过框架访问,使用以下语法之一:

  • $f3->get('CONTROLLERPATH')

  • $f3['CONTROLLERPATH']

  • $f3->CONTROLLERPATH

+0

非常有帮助!当我使用CONTROLLERPATH作为框架变量时,如果尝试在路由中连接如下,它仍然不起作用:$ f3-> route('GET /',$ f3-> CONTROLLERPATH。'indexController-> index') ;我只需要一种方式告诉F3我的所有控制器都在应用程序/控制器文件夹中 – whistler 2015-01-15 17:44:42

+0

PHP名称空间由* backslashes *标识,而不是正斜杠。所以你的ini条目应该看起来像'CONTROLLERPATH = app \ controllers \'(注意不需要单引号)。另外你的文件结构应该遵循[autoloader](http://fatfreeframework.com/routing-engine#the-f3-autoloader)的要求(见[[]](http://stackoverflow.com/questions/27262719/implementing -namespaces-in-fatfree-framework/27312633#27312633)以获得更多细节)。 – xfra35 2015-01-15 17:54:46

相关问题