我想在routes.php
(无脂肪框架)中包含两个文件(globals.php
和index.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
。
答案 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');