Легко! Код в консоли:
<?php $_REQUEST['mykey'] = '123'; $method = 'REQUEST'; $key = 'mykey'; echo $modx->request->parameters[$method][$key];
вывод:
123
по умолчанию $method задан в вашем же процессоре и его значение 'REQUEST', но в случае если процессор был запущен вот так
$scriptProperties['method'] = 'GET'; $modx->runProcessor('modcaptcha/web/check', $scriptProperties, array( 'processors_path' => $path.'processors/', ))
То параметр будет перезаписан в параметрах modProcessor согласно вот этому куску кода: modprocessor.class.php
function __construct(modX & $modx,array $properties = array()) { $this->modx =& $modx; $this->setProperties($properties); }
А вот так туда попадуют параметры по умолчанию, и если заметить они не перезаписывают те что передаются при инициализации через $scriptProperties
public function setDefaultProperties(array $properties = array()) { $this->properties = array_merge($properties,$this->properties); return $this->properties; }
Точно так же в параметры процессора попадают все остальные параметры.
Единственное что бы я поправил, и у себя поправлю это все таки сделаю вот так:
$code = $modx->request->getParameters($key, strtoupper($method));
в методе getParameters клсса modRequest нет привидения к верхнему регистру как ни странно.

Вернуться к списку комментариев