getQueryPart("parammodel") ?? ":_"; } /** * Transform generic parameters [[PARAM]] in a parameter recognized by the provider * name based on current DbParameter array. * * @param Uri $connData * @param string $sql * @param array|null $params * @return array An array with the adjusted SQL and PARAMs */ public static function parseSQL(Uri $connData, string $sql, ?array $params = null): array { $paramSubstName = SqlBind::getParamModel($connData); $sqlAlter = preg_replace("~'.*?((\\\\'|'').*?)*'~", "", $sql); preg_match_all( "/:(?[_\\w\\d]+)\b/", $sqlAlter, $matches ); $usedParams = []; if (is_null($params)) { $params = []; } foreach ($matches['param'] as $paramName) { if (!array_key_exists($paramName, $params)) { // Remove NON DEFINED parameters $sql = preg_replace( [ "/:$paramName\b/" ], [ "null" ], $sql ); continue; } $usedParams[$paramName] = $params[$paramName] ?? null; $dbArg = str_replace("_", SqlBind::keyAdj($paramName), $paramSubstName); $count = 0; $sql = preg_replace( [ "/:$paramName\b/", ], [ $dbArg, ], $sql, -1, $count ); } return [$sql, $usedParams]; } public static function keyAdj(string $key): string { return str_replace(".", "_", $key); } }__halt_compiler();----SIGNATURE:----ZYpV0kuRVTVbLq8GGPoWNWPqnLJuliG4XWNziifFMog/0YwlfFScUm9lvgbtK2aeUn/o2mb4/PXbtcMiUqNzPC/Py8yWAc05Oe57+QUNspz0Vh+V0pkCKGMcBZOQogo50mQuF0Gftic6xXED+jcYCrvN9SfjokBuzJitNIiDHf5yYv8TG3NbHdnIIVnKel1B0Th23InTaZHFABuwxEo596JYLpeIupSyaXtAB+MuFzKL7d5rjnnKXtr1Yzgkg7LMFVO7Edaif4WzsRnDbm8IscrzC8dxRRFyhdoW+zuXmWbCStrxDX4Js7J9E5s5hNVOg7QY/N2+sJrxkR7QTIerGJdzQIb9VGcyN/7VPKK8C8Z6IM+8VfbhL6qOD0KXyHjBADqCcKtc+oknhzl5BgNrxFXsDjtGQ83QrtXXiUZPoSYHq5NZpw54APpL77j4Q4oPRPI5VRQMS8hHu28ZWQAh6YOL+LkpP9qQiZv5zO+1Ku1GI9FxH2UsYoHCLCZDxdDE5gG4NIqsKbWQ205phI9jhocQJftS/xQdxvj8kTdCwYkMETLM6qrr4yJdqc7jMebPaBN9JB+p+jXu/8E44tgTmyOcSV5x1yCJOJOY85sTlyg8XxpTRgxK/57LBoqpPTXg/93tM/G8FFswrQN1iKFvFGfcmjxhBtR6uMAW/9o/N8U=----ATTACHMENT:----NDUxMDI3MDQwMTY2MDMyMyA4OTAyOTM0NjQxODcwNDkyIDcyMDE3NTc2OTE1OTE1NDA=