使用Zend框架的多阶段 - 如果我们需要定义ROOT_DIR,我们可以在application.ini上使用它吗?

时间:2011-03-31 14:12:52

标签: zend-framework

在我们的application.ini文件中,我们设置了两个环境变量: 开发和生产。

每个ENV的所有数据库详细信息都在那里配置。

是否可以在application.ini上为每个环境定义ROOT_DIR?

更新

在我的zend项目根源上,我有一个名为

的文件
  

config_root.php

并且,我有:

define('ROOT_DIR',"/home/myuser/www/www");

每次我必须从开发切换到生产时,我必须回想一下,不要在生产方面覆盖同一个文件,因为在那里,这个文件是不同的,反之亦然:

define('ROOT_DIR',"/home/productionuser/public_html/");

这个config_root方法是我用过的东西。 此时,我正试图改变这里的工作方式,所以我已经在我的apache配置上定义了一些文档根源。 (我之前没有的东西)。

所以,在继续之前,一个问题到了:

1 - 由于我正在使用apache文档根配置,我是否可以删除此ROOT_DIR定义?

如果我仍然需要使用此ROOT_DIR定义,那么:

2 - 我们可以在application.ini中处理这个问题并删除对config_root.php的需求吗?

由于

1 个答案:

答案 0 :(得分:1)

回答你的问题:

  
      
  1. 由于我正在使用apache文档根配置,我是否可以删除此ROOT_DIR定义?
  2.   

是的,我会这么认为。你说你在每个ZF项目的根目录中都有config_root.php,所以你不能把ROOT_DIR设置为./(或者可能是./public,如果那是你想要的那个。

例如,Zend_Tool创建的默认public / index.php包含以下行:

defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

这将设置一个常量APPLICATION_PATH,其中包含当前项目的应用程序目录的完整路径,而不必对此路径进行硬编码。

  

2 - 我们可以在application.ini中处理这个问题并删除对config_root.php的需求吗?

我不确定application.ini是否适合它,但你当然不需要单独的config_root.php文件。如果您可以使用上面示例中的相对路径,那么您应该能够将其构建到应用程序代码中,而无需为生产和开发提供单独的值。