日期:2013-05-03  浏览次数:20494 次

FleaPHP 是一个具有高度灵活性的框架。开发者可以用不同的设置来调整 FleaPHP 的工作方式。这些设置统一保存在名为“应用程序设置”的数据源中。

实际上,除了 FleaPHP 框架本身,应用程序也可以使用“应用程序设置”来保存应用程序运行时需要的各种设置。

FleaPHP 的应用程序设置有一个默认配置文件,保存在 FLEA/Config/Default_APP_INF.php 中。应用程序可以在入口文件(例如 index.php)中修改这些设置,以便调整 FleaPHP 的工作方式。



如何使用应用程序设置?

当 FleaPHP 框架初始化时,默认的应用程序设置文件(Default_APP_INF.php)会被载入。如果应用程序要指定设置,推荐的做法有下列几种:

创建应用程序的私有设置文件

当需要指定多个应用程序设置时,推荐使用该方法。具体的做法非常简单,只需要定义类似如下的文件即可(假设下面的内容保存到文件 APP/Config/MY_APP_INF.php)。

<?phpreturn array(    'defaultController' => 'UserCenter',    'urlLowerChar'      => false,    'dispatcher'        => 'FLEA_Dispatcher_Auth',    'dbDSN'     => array(        'driver'        => 'mysql',        'host'          => 'localhost',        'login'         => 'root',        'password'      =>空字符串,        'database'      => 'test',    ),);?>

然后在应用程序的入口文件 index.php 中调用 run() 函数的代码前,增加一行 register_app_inf('APP/Config/MY_APP_INF.php') 即可。例如:

<?phprequire('FLEA/FLEA.php');register_app_inf('APP/Config/MY_APP_INF.php');run();?>

直接在入口文件中指定设置

对于少量的设置,可以在入口文件中直接用 set_app_inf() 函数指定。例如:

<?phprequire('FLEA/FLEA.php');set_app_inf('defaultController', 'UserCenter');run();?>

不管采用哪一种方式,重要的都是必须在 run() 之前就指定好应用程序设置。



默认的应用程序设置

默认的应用程序设置提供了符合常见应用程序运行需要的设置。下面分类列出这些设置的名字和详细说明。

核心配置

  • namespace 应用程序的默认名字空间,默认值为空字符串

    这个设置会影响到应用程序所有类的名称定义。例如 namespace 设置为 FOO 时,应用程序所有控制器、模型的类名字都要加上前缀 FOO_。变成诸如 FOO_Controller_DefaultFOO_Model_News 等。

    为了让你的代码能够更容易的在其他应用程序中复用,最好将 namespace 设置为空字符串。

  • controllerAccessor 指示控制器的 URL 参数名,默认值为 controller

    这个设置指定在 URL 查询参数中,用什么名字的参数指定控制器名字。例如 controllerAccessor 设置为 “ctl” 时,就必须用 index.php?ctl=MyController 来指定要调用的控制器。

  • defaultController 指示默认控制器的名字,默认值为 Default

    url 参数中没有指定要调用的控制器时,将依据 defaultController 的设置调用默认的控制器。

  • actionAccessordefaultAction,默认值分别为 actionindex

    这两个设置的作用和 controllerAccessordefaultController 类似。只不过用于指定控制器动作的参数名和默认动作名。

  • urlMode 指定 URL 分析和构造模式,默认值为 URL_STANDARD

    URL 的分析和构造模式,目前支持三种,分别是:URL_STANDARDURL_PATHINFOURL_REWRITE

    URL_ST