diff --git a/framework/console/CConsoleCommand.php b/framework/console/CConsoleCommand.php index 10bdecca4..640ace3f7 100644 --- a/framework/console/CConsoleCommand.php +++ b/framework/console/CConsoleCommand.php @@ -129,7 +129,13 @@ abstract class CConsoleCommand extends CComponent $name=$param->getName(); if(isset($options[$name])) { - if($param->isArray()) + if(version_compare(PHP_VERSION,'8.0','>=')) { + $isArray = $param->getType() && $param->getType()->getName() === 'array'; + } else { + $isArray = $param->isArray(); + } + + if($isArray) $params[]=is_array($options[$name]) ? $options[$name] : array($options[$name]); elseif(!is_array($options[$name])) $params[]=$options[$name]; diff --git a/framework/web/actions/CAction.php b/framework/web/actions/CAction.php index b2dad0efd..7373f021d 100644 --- a/framework/web/actions/CAction.php +++ b/framework/web/actions/CAction.php @@ -94,7 +94,13 @@ abstract class CAction extends CComponent implements IAction $name=$param->getName(); if(isset($params[$name])) { - if($param->isArray()) + if(version_compare(PHP_VERSION,'8.0','>=')) { + $isArray = $param->getType() && $param->getType()->getName() === 'array'; + } else { + $isArray = $param->isArray(); + } + + if($isArray) $ps[]=is_array($params[$name]) ? $params[$name] : array($params[$name]); elseif(!is_array($params[$name])) $ps[]=$params[$name];