在index.php中包含文件(Fat-Free Framework)

时间:2013-12-28 11:41:48

标签: php include fat-free-framework

我想在routes.php(无脂肪框架)中包含两个文件(globals.phpindex.php),但我不知道如何。

我尝试过要求并包含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

2 个答案:

答案 0 :(得分:2)

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

RewriteCond %{REQUEST_URI} \.cfg 
RewriteRule \.cfg$ - [R=404]

答案 1 :(得分:0)

文件和类包含

包含文件is to use AUTOLOAD的无脂肪方式。这可以通过两种方式完成:

(a)在AUTOLOAD中设置index.php变量:

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

(b)添加AUTOLOAD变量to the config.ini file

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

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

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

通过在config.ini中添加以下内容,可以一次性包含所有控制器的好方法:

AUTOLOAD=controllers/

全局

从您的文件名中看,您似乎可能正在使用全局变量,其中可能包括:

define("LOGLEVEL", "DEBUG");

无脂肪框架does not support this syntax,因此使用index.php中的一个集合使用上述相同的方法(Fat Free建议切换到CamelCase):

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

或将其添加到config.ini

logLevel=DEBUG

路线

如果您想引用index.php以外的路线,则必须修改以下内容:

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

a different format因为你可能没有声明$f3

Base::instance()->route('GET /@controller/@action','@controller->@action');