在app_config文件中定义全局数组

时间:2012-02-08 12:32:30

标签: php arrays cakephp global

我有一个app配置文件,它使用DEFINE声明全局变量:

define('BASE_DOMAIN', 'localhost/...');

define('BASE_URL', '//'.BASE_DOMAIN);
define('TMP_PATH', $_SERVER['DOCUMENT_ROOT'].'/app/tmp')

我还使用了一个Media插件,它有三个标准图像尺寸,声明如下:

$s = array('convert' => 'image/png', 'zoomCrop' => array(100, 100));
$m = array('convert' => 'image/png', 'fitCrop' => array(300, 300));
$l = array('convert' => 'image/png', 'fit' => array(600, 440));

我只是想知道他们是否有某种方式我可以在app config中将这些值声明为全局变量,例如:替换' zoomCrop' =>阵列(100,100)'上面有一个在app config中定义的变量。

我尝试了这个(不工作): app config

$GLOBALS['RES_ZOOM_CROP'] = array(25, 25);
$GLOBALS['RES_FIT_CROP'] = array(300, 300);
$GLOBALS['RES_FIT'] = array(600, 440);

插件

$s = array('convert' => 'image/png', 'zoomCrop' => RES_ZOOM_CROP));
$m = array('convert' => 'image/png', 'fitCrop' => RES_FIT_CROP));
$l = array('convert' => 'image/png', 'fit' => RES_FIT));

2 个答案:

答案 0 :(得分:2)

考虑使用Configure类编写可在整个应用程序中访问的“全局”变量。不支持常量和已定义的变量数组。

答案 1 :(得分:1)

您的示例声明了三个全局变量,然后使用三个未定义的常量,当您将插件更改为此时它应该有效:

$s = array('convert' => 'image/png', 'zoomCrop' => $GLOBALS['RES_ZOOM_CROP']));
$m = array('convert' => 'image/png', 'fitCrop' => $GLOBALS['RES_FIT_CROP']));
$l = array('convert' => 'image/png', 'fit' => $GLOBALS['RES_FIT']));