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:----hHN82iEZPRq06wA78ayZ5gmKWSE0q3GZHXehWMHmmaGhsz15SQlj7jcej/WJR/hhky6M7gybW/kH0Vkf6EExevIyFUffv0y5xYfM4U1ER3UPylzMMzP844XYTbUscBq0Ia9kHB0pwb2V6+AHbglJP8xd/4pPrJbIjpsB02afE88PLXUibWT1uzbNuPYOpQTy1kOy8dL8ZZ/RndC0V0tqK7x13pg24eBChj9Z4vockow+V3PcRT9/QCFjevjc0rRd77oy+zg19NXt8CLYn0tnHlp9uso/HlmnpqEBWJwxnYCWxB/Iku7KeHzlWNr7PjW7gbhL6EkqP1j2BlzhAKBHsWpCDMhwspRDQyk02tnGRFkXLI4cncEW1L8teH88+CzbfWdSet3ZUDj+lC+pXr/Xn8CvbbmN0hCAlsy4LckxOSQ1GdrZfYao5g1E8x9yEiHTNtxBOx0/oV7mWqno8luc04v7UEmzLvECTIS9AW+iEGqNa30DQEOA6EWSkX3ouPxvuGdngjmAc0PNGiW0Fqw29gFzRvoIDG3Q3IX+H0rdoRLP34m3I7xRLQUUTLx5JeQhD1PaRrBBaQfLBjr3w+b0AJd4WslV68bsc2pA0XkjusLhOV/fSdqE94O18lGaeEyZmZme5gCuQvfHdWWEA/RtkQ0gLiu4IX6wp/AG0UdFrrE=----ATTACHMENT:----MTc5ODc4NjY0MzY0Mjc3OSAzMTIwOTUyMzYxMzcwNTUyIDY5MzQ5MzUyMDI4NjA2MjI=