Определить глобальный массив в файле app_config - PullRequest
0 голосов
/ 08 февраля 2012

У меня есть файл конфигурации приложения, который объявляет глобальные переменные, используя 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));

Мне просто интересно, если они каким-то образом могут объявить эти значения как глобальные в конфигурации приложения, например, заменить 'zoomCrop' => array (100, 100) 'на переменную, определенную в конфигурации приложения.

Я пробовал это (не работает): Конфигурация приложения

$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 ]

2 голосов
/ 08 февраля 2012

Рассмотрите возможность использования класса Configure для записи «глобальных» переменных, которые будут доступны во всем приложении.Константы и определенные переменные массивы не поддерживаются.

1 голос
/ 08 февраля 2012

Ваш пример объявляет три глобальные переменные, а затем использует три неопределенных константы, он должен работать, когда вы меняете плагин на:

$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']));
...