2

我想在(Fat Free Framework)中包含两个文件(routes.php和) ,但我不知道如何。globals.phpindex.php

我尝试过 require 并包含 Fat Free 方式:

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

$f3=require('app/globals.php'); 
$f3=require('app/routes.php');

$f3=include('app/globals.php');
$f3=include('app/routes.php');

然后只是普通的PHP:

require 'app/globals.php';
require 'app/routes.php';

但它不起作用。

这有效:

$f3->config('app/globals.cfg');
$f3->config('app/routes.cfg');

但我不想使用.cfg文件,只是.php.

4

2 回答 2

2

如果您害怕将 .cfg 或 .ini 文件提供给客户端浏览器,您可以简单地在随附的 .htaccess 文件中禁止它。

RewriteCond %{REQUEST_URI} \.cfg 
RewriteRule \.cfg$ - [R=404]
于 2013-12-29T00:34:46.637 回答
0

文件和类包含

包含文件的 Fat Free 方式是使用AUTOLOAD. 这可以通过两种方式完成:

(a) 将AUTOLOAD变量设置为index.php

$f3->set('AUTOLOAD', 'relativepathfromindex/routes.php; relativepathfromindexpath/globals.php');

(b) 将AUTOLOAD变量添加config.ini文件中:

AUTOLOAD=relativepathfromindex/routes.php; relativepathfromindexpath/globals.php

然后确保config.ini文件被引用index.php

$f3->config('config.ini');

这是一种包含所有控制器的好方法,例如,通过将以下内容添加到config.ini

AUTOLOAD=controllers/

全局变量

但是,从您的文件名来看,您似乎可能正在使用全局变量,其中可能包括以下内容:

define("LOGLEVEL", "DEBUG");

Fat Free 框架不支持这种语法,所以使用上面描述的相同方法,使用一个集合index.php(Fat Free 建议切换到 CamelCase):

$f3->set('logLevel', 'DEBUG');

或将其添加到config.ini

logLevel=DEBUG

路线

如果你想引用外面的路线index.php,你将不得不修改如下内容:

$f3->route('GET /@controller/@action','@controller->@action');

转换为您可能不会声明的不同格式:$f3

Base::instance()->route('GET /@controller/@action','@controller->@action');
于 2015-10-29T22:51:59.713 回答