我有一个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));
答案 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']));