Scriptcase Help Center

Pesquise os artigos aqui ou navegue pelas categorias abaixo.

Navegar por tópico

Encontre guias, tutoriais e respostas organizados por categoria.

Artigos populares

O que outras pessoas estão lendo agora.

Novidades do Scriptcase

Configuração de APIs para uso no Scriptcase AI

O Scriptcase AI utiliza APIs para se comunicar com modelos de inteligência artificial, auxiliando os desenvolvedores na criação, manutenção e evolução de projetos desenvolvidos no Scriptcase. Para utilizar o Scriptcase AI, não é necessário contratar uma assinatura padrão, como ChatGPT Plus, Google AI Pro ou alguma outra equivalente. Essas assinaturas não são necessárias para o uso da API, sua finalidade é permitir o uso da versão paga do assistente de IA diretamente pelo site do próprio provedor. Ao utilizar o Scriptcase AI com uma chave de API, a cobrança é realizada por demanda, considerando fatores como o modelo utilizado, o volume de requisições realizadas e a quantidade de tokens processados. Já nos plano padrão de assinatura, o valor será descontado independente do uso naquele mês. Alert Não é necessário contratar uma assinatura padrão, como o ChatGPT Plus ou Google AI Pro, para utilizar o Scriptcase AI via API. Como os valores são calculados Esse consumo é medido por tokens, que representam pequenas partes do conteúdo enviado e recebido pela IA, como textos, instruções, perguntas, trechos de código e respostas geradas pelo modelo. Em cada interação, a API contabiliza os tokens de entrada, referentes ao conteúdo enviado para a IA, e os tokens de saída, referentes à resposta gerada. Na prática, tarefas comuns, como gerar sugestões, realizar traduções, revisar pequenos trechos, explicar erros, ajustar partes de código ou auxiliar na criação de aplicações, costumam consumir uma quantidade reduzida de tokens. Exemplo de valores por modelo e Token Os valores abaixo, obtidos em 11/06/2026 nas páginas oficiais**,** são referentes ao uso da API, apenas para demonstrar a diferença de custo entre modelos. Os preços podem mudar, por isso é recomendado consultar sempre as páginas oficiais antes da contratação. ChatGPT (OpenAI API Pricing): https://developers.openai.com/api/docs/pricing Gemini API Pricing: https://ai.google.dev/gemini-api/docs/pricing Quote 1 milhão de tokens representa, aproximadamente, entre 600 mil e 750 mil palavras, dependendo do idioma e do tipo de conteúdo processado. | | | | | | | --- | --- | --- | --- | --- | | Provedor | Modelo | Entrada | Saída | Observação | | OpenAI | gpt-5.5 | US$ 5,00 por 1M tokens | US$ 30,00 por 1M tokens | Modelo mais avançado, com custo maior | | OpenAI | gpt-5.4-nano | US$ 0,20 por 1M tokens | US$ 1,25 por 1M tokens | Modelo mais leve, com custo menor. Utilizado principalmente para tarefas inteligentes do Scriptcase AI. | | Gemini | Gemini 3.1 Pro Preview | US$ 2,00 por 1M tokens | US$ 12,00 por 1M tokens | Modelo mais avançado | | Gemini | Gemini 2.5 Flash-Lite | US$ 0,10 por 1M tokens | US$ 0,40 por 1M tokens | Modelo mais leve, com custo menor. Utilizado principalmente para tarefas inteligentes do Scriptcase AI. | Gerar chave API do ChatGPT / OpenAI Para utilizar modelos GPT no Scriptcase AI, é necessário acessar a plataforma de desenvolvedor da OpenAI e gerar uma chave de API. Passo a passo 1. Acesse a OpenAI Platform. 2. Faça login com uma conta OpenAI. Caso o usuário já utilize o ChatGPT, pode usar o mesmo login. Porém, o uso da API possui configuração e cobrança separadas da assinatura do ChatGPT. 3. Acesse a área de Billing. 4. Configure a forma de pagamento ou adicione créditos para uso da API. A API da OpenAI funciona com cobrança baseada no consumo. Os créditos adicionados são consumidos conforme as requisições são realizadas. 5. Acesse a área de API Keys. 6. Crie uma nova chave de API. 7. Copie a chave gerada e armazene em local seguro. A chave deve ser salva no momento da criação. Por segurança, a plataforma pode não exibir novamente a chave completa depois. 8. No Scriptcase, acesse a configuração do Scriptcase AI. 9. Selecione o provedor OpenAI/GPT. 10. Informe a chave de API gerada. 11. Salve a configuração e realize um teste de conexão ou uso da IA. Verificando o consumo da API O painel da plataforma exibe métricas detalhadas de custos, volume de chamadas e limites de taxa. 1. Acesse o site da OpenAI Platform e faça login. 2. No menu lateral, vá em  Usage (Uso) para ver um detalhamento do consumo diário de tokens por modelo (como GPT-4 ou GPT-3.5) e os custos acumulados. Você verá um painel detalhado com todas as informações sobre o seu consumo. Gerar chave API do Gemini Para utilizar modelos Gemini no Scriptcase AI, é necessário acessar o Google AI Studio ou configurar um projeto no Google Cloud e gerar uma chave de API. Passo a passo 1. Acesse o Google AI Studio. 2. Faça login com uma conta Google. 3. Aceite os termos de uso, caso seja o primeiro acesso. 4. Acesse a área de API Keys. 5. Crie uma nova chave de API. Em novos acessos, o Google AI Studio pode criar automaticamente um projeto padrão vinculado à conta. Também é possível usar ou importar um projeto existente do Google Cloud. 6. Copie a chave de API gerada. 7. Caso seja necessário usar recursos pagos ou aumentar limites, configure o billing do projeto. 8. No Scriptcase, acesse a configuração do Scriptcase AI. 9. Selecione o provedor Gemini. 10. Informe a chave de API gerada. 11. Salve a configuração e realize um teste de conexão ou uso da IA. Verificando o consumo da API 1. Acesse o Painel de Uso do Google AI Studio. 2. Faça login com sua conta Google. Lá, você visualizará gráficos detalhados de uso diário, limites de taxa (rate limits) e tokens consumidos por cada modelo do Gemini. Você verá um painel detalhado com todas as informações sobre o seu consumo. Info Para ter acesso à visualização de consumo da API é necessário ter o método de pagamento configurado. Recomendações Trate a chave de API como uma senha. Não compartilhe a chave em chats, repositórios, páginas públicas ou locais acessíveis por usuários finais. Sempre que possível, use uma chave exclusiva para o Scriptcase AI, acompanhe o consumo da API e configure limites de uso no provedor. Caso exista suspeita de exposição, substitua a chave imediatamente e remova chaves antigas que não estejam mais em uso.

Scriptcase

Erro do sistema, falta de arquivo api-ms-win-crt-runtime-l1-1-0.dll

Este erro é resolvido de duas maneiras opcionais. A- Instalando osoftware via upgrate de janelas A Microsoft criou oVisual C ++ Redistributable para Visual Studio 2015 no Windows UpdateKB2999226. Então você pode instalá-lo através do Windows Update. 1- Digite Atualização na caixa de pesquisa em Iniciar. Em seguida, clique emProcurar atualizações (Windows 10) ou no Windows Update (Windows 7)no resultado. 2- Clique em chequepara atualizações 3- O programa procurará atualizações e clicará em instalar atualizações,depois reiniciará o computador. B- Baixe o arquivo executável do Visual C ++ Redistributable for Visual Studio 2015 1- Baixe a páginahttps://www.microsoft.com/pt-br/download/details.aspx?id=48145 2- Siga as instruções de instalação. 3- Reinicie o dispositivo.

Scriptcase

Atualização manual do Scriptcase no Windows

A atualização manual do Scriptcase é realizada a partir do arquivo compactado .zip, disponível na área de download do Scriptcase. Esse procedimento substitui apenas os arquivos base do Scriptcase, responsáveis pela estrutura da ferramenta. Os projetos existentes no ambiente não são alterados, removidos ou sobrescritos durante a atualização. Alert Antes de iniciar o procedimento, recomendamos realizar um backup dos projetos e da instalação atual, como medida de segurança. 1. Realizando o backup O backup pode ser feito pelo próprio Scriptcase, acessando: Configurações > Administração > Serviços > Backup InfoAguarde o backup finalizar para realizar o download do arquivo pela interface da ferramenta. Também é possível realizar um backup manual, copiando a pasta da instalação atual para outro local seguro. 2. Baixar o arquivo de atualização Acesso o site na aba de download e baixa a versão mais recente do Scriptcase no formato zip, para Windows. O arquivo baixado será utilizado para substituir os arquivos base da instalação atual. 3. Extrair o arquivo compactado Após concluir o download, extraia o conteúdo do arquivo .zip em uma pasta temporária. Exemplo: C:\Users\Usuario\Downloads\scriptcase\scriptcase-10.0.000 Dentro da pasta extraída(scriptcase-10.0.000), estarão os arquivos da nova versão do Scriptcase 4. Copiar os arquivos da nova versão Selecione todos os arquivos e pastas da nova versão do Scriptcase. Copie esse conteúdo. 5 - Colar os arquivos na instalação atual Cole os arquivos copiados dentro da pasta atual do Scriptcase. Exemplo de destino: C:\Program Files\NetMake\v9-php82\wwwroot\scriptcase Quando o Windows solicitar confirmação para substituir os arquivos existentes, confirme a substituição. 6. Aguardar a conclusão da cópia e acesso Aguarde até que todos os arquivos sejam copiados e substituídos. Após finalizar a substituição dos arquivos, acesse o Scriptcase normalmente pelo navegador. Utilize o mesmo endereço usado antes da atualização. Exemplo: http://127.0.0.1:8093/scriptcase

Scriptcase

Atualização Manual - Linux

Antes de realizar qualquer procedimento recomendamos a realização de um backup de seus projetos. Para realizar o backup do Scriptcase: - Acesse Configurações > Administração, no menu lateral acesse **Serviços > Backup.**Será gerado um arquivo (.ZIP) com todos os seus projetos, salve este arquivo em um diretório seguro. - Ou comprima e salve a pasta completa do Scriptcase em um diretório seguro. Abaixo, veremos como realizar uma atualização manual do Scriptcase: 1. Realize o download Scriptcase no formato tar.tgz no nosso site oficial 2. Agora, devemos descompactar o arquivo tar.gz baixado e copiar os arquivos contidos nele para o diretório do scriptcase atual. Para isso acesse o terminal do Linux e execute os comandos abaixo, seguindo a ordem: 1. sudo su 2. tar -zxvf****scriptcase-10.0.000-pt_br.tgz 3. cp -R scriptcase-10.0.000-pt_br**/* /opt/NetMake/v10/wwwroot/scriptcase** 4. chmod 777 -R scriptcase/ NotesNota: a aplicação da permissão 777 só deve ser considerada caso a sua instalação seja uma instalação local. Notes/opt/NetMake/v10/wwwroot/scriptcase é o caminho da instalação padrão automática. Se você tem uma instalação em diretório diferente, use o diretório correspondente. 3. Para confirmar a atualização, ao finalizar a transferência dos arquivos, acesse seu Scriptcase e vá em  Ajuda > Verificar atualizações

Licenças e Registro

Como Registrar meu Scriptcase

Para realizar o registro do Scriptcase você precisa ter em mãos: - Login e Senha do proprietário da licença. Mesma conta utilizada durante o processo de compra da licença. - Serial com status Aberta Caso tenha realizado uma compra recente, seu serial será enviado junto ao e-mail de confirmação da compra. É possível também obter seu serial no site, na area do cliente. Veja como localizar meu serial no site. 1. Acessando o Scriptcase Agora acesse o Scriptcase que será registrado através do navegador de sua preferência. Exemplo de acesso ao realizar instalação local 1. 127.0.0.1:8092/scriptcase 2. localhost:8092/scriptcase Exemplo de acesso ao realizar instalação em um servidor 1. 180.204.163.144:8092/scriptcase/ 2. mysc.dominio.net/scriptcase/ 2. Registro da licença Nesta etapa serão utilizados os dados de acesso ao****site do proprietário da licença e a licença com status Aberta 2.1 Após a realização do Login acesse o menu Ajuda > Registro da Licença 2.2 Registro Online Nesta etapa informe o Login e Senha do proprietário da licença e o serial que será registrado e clique em Registrar. Lembrando que o serial deve estar com o status: Aberta Verifique sua conexão com a Internet - Para fazer o registro online, a máquina onde o Scriptcase está instalado precisa ter acesso à internet. Antivírus- Em alguns casos o antivírus pode bloquear o registro ou deixá-lo um pouco mais lento. Rede com restrições - Se sua rede tiver uma restrição de domínio para scriptcase.com.br, entre em contato com o administrador da rede para adicionar uma exceção. 2.3 Confirmação Após o registro, será exibido a tela de confirmação. Clique em OK para finalizar o registro. Você será redirecionado para a tela de Login

Scriptcase

Guia de Migração do PHP 7.x para o PHP 8.2

A partir da release 9.13.012, o Scriptcase passa a ser compatível com o PHP 8.2, tanto no ambiente de desenvolvimento quanto em produção. Ao migrar diretamente do PHP 7.x para o PHP 8.2, códigos personalizados (eventos, métodos e bibliotecas internas ou externas) podem passar a emitir warnings, deprecations ou até apresentar falhas, devido a mudanças de comportamento e à descontinuação de recursos introduzidos nas versões mais recentes do PHP. Este tutorial reúne os principais pontos de atenção da migração para o PHP 8.2, com explicações e exemplos práticos para facilitar a adaptação do código e reduzir impactos durante a atualização. 1) Operadores ternários aninhados sem parênteses explícitos — Não permitido Expressões condicionais utilizando operadores ternários aninhados sem parênteses explícitos não são permitidas no PHP 8.2. Esse tipo de escrita pode gerar ambiguidades e não é mais aceito pelo interpretador. ❌ Exemplo não permitido: 1. $result = $aa != "" ? $xxx : isset($bb) && $bb != "" ? $zzz : ""; ✅ Forma recomendada: Reescreva a lógica de forma explícita, utilizando estruturas condicionais: 1. if ($aa != "") { 2. $result = $xxx; 3. } elseif (isset($bb) && $bb != "") { 4. $result = $zzz; 5. } else { 6. $result = ""; 7. } 2) Acesso a valores de array e string usando chaves — Deprecated O acesso a valores de arrays e strings utilizando a sintaxe de chaves**{}** não é permitido no PHP 8.2. Esse formato está depreciado e pode gerar warnings ou erros durante a execução. Utilize sempre a sintaxe com colchetes [] para acessar índices. ❌ Exemplo não permitido: 1. $array = [1, 2]; 2. echo $array{1}; 3. $string = "foo"; 4. echo $string{0}; Quote Esse tipo de acesso gera mensagens como: Deprecated: Array and string offset access syntax with curly braces is deprecated ✅ Forma correta: 1. $array = [1, 2]; 2. echo $array[1]; // exibe 2 3. $string = "foo"; 4. echo $string[0]; // exibe "f" 3) Parâmetros obrigatórios após parâmetros opcionais — Deprecated A declaração de funções ou métodos com parâmetros obrigatórios após parâmetros opcionais não é permitida no PHP 8.2. Esse tipo de assinatura é considerada incorreta e pode gerar warnings ou deprecations durante a execução. ❌ Exemplo não permitido: 1. function foo($param_optional = null, $param_required) { 2. // ... 3. } Quote Esse tipo de declaração pode gerar mensagens como: Deprecated: Required parameter $param_required follows optional parameter $param_optional ✅ Forma correta: Declare sempre os parâmetros obrigatórios primeiro, seguidos pelos opcionais: 1. function foo($param_required, $param_optional = null) { 2. // ... 3. } 4) Operações aritméticas com strings não numéricas — Não permitido Operações aritméticas envolvendo strings não numéricas não são permitidas no PHP 8.2. Esse tipo de operação pode gerar warnings ou erros, pois valores que não representam números não são mais tratados implicitamente como zero. ❌ Exemplo não permitido: 1. $b = ""; 2. $a = $b + 2; Quote Esse tipo de operação pode resultar em erro, pois $b não contém um valor numérico válido. ✅ Forma correta: Antes de realizar a operação, é necessário garantir que o valor seja numérico. Exemplo 1 — validação direta: 1. $a = is_numeric($b) ? $b + 2 : 2; Exemplo 2 — normalização do valor: 1. if (!is_numeric($b)) { 2. $b = 0; 3. } 4. $a = $b + 2; 5) Variáveis e índices inexistentes — Atenção a warnings O uso de variáveis não definidas ou índices de array inexistentes pode gerar warnings no PHP 8.2. Esse comportamento ocorre quando o código tenta acessar valores que ainda não foram definidos. Se a exibição de warnings estiver habilitada, esse tipo de situação pode resultar em mensagens frequentes durante a execução do código. ❌ Exemplo não permitido: 1. $a = $b + 2; Ou: 1. $a = $array['key'] + 2; Quote Quando $b ou $array['key'] não existem, um warning pode ser exibido. ✅ Forma correta: Antes de utilizar uma variável ou índice de array, verifique se ele existe. 1. $a = isset($b) ? $b + 2 : 2; Ou, no caso de arrays: 1. $a = isset($array['key']) ? $array['key'] + 2 : 2; 6) Função each() — Removida A função each() retorna o par chave/valor atual de um array e avança o seu cursor interno. Essa função não está disponível no PHP 8.2. Caso ela seja utilizada em suas aplicações, o código precisa ser alterado antes da publicação em um ambiente com PHP 8.2 ou superior. Opções comuns de substituição: 1. foreach() 2. key() 3. current() 4. next() ❌ Exemplo não suportado: 1. $result = ""; 2. $tab = array( 3. 0 => array('tp' => 1, 'vl' => 'aaa'), 4. 1 => array('tp' => 2, 'vl' => 'bbb'), 5. 2 => array('tp' => 3, 'vl' => 'ccc') 6. ); 7. while (list($key, $val) = each($tab)) { 8. $result .= $tab[$key]["vl"]; 9. } ✅ Forma recomendada (usando foreach()): 1. $result = ""; 2. $tab = array( 3. 0 => array('tp' => 1, 'vl' => 'aaa'), 4. 1 => array('tp' => 2, 'vl' => 'bbb'), 5. 2 => array('tp' => 3, 'vl' => 'ccc') 6. ); 7. foreach ($tab as $key => $val) { 8. $result .= $tab[$key]["vl"]; 9. } 7) Função array_key_exists() — Uso em objetos deprecated A função array_key_exists() verifica se uma chave ou índice existe em um array. No PHP 8.2, o uso dessa função para verificar propriedades de objetos está deprecated. Para esse cenário, utilize isset() ou property_exists(). ❌ Exemplo não recomendado: 1. if (array_key_exists('index', $array1)) { 2. // código 3. } ✅ Forma recomendada: 1. if (isset($array1['index'])) { 2. // código 3. } 8) Função money_format() — Removida A função money_format() formata um número como uma string de moeda. Essa função não está disponível no PHP 8.2. Para realizar a formatação monetária, utilize a extensão Intl, por meio da classe NumberFormatter. ❌ Exemplo não suportado: 1. echo money_format("%.2n", 1234.56); ✅ Forma recomendada (usando NumberFormatter): 1. $currencyObject = new NumberFormatter("pt-BR", NumberFormatter::CURRENCY); 2. echo $currencyObject->format(1234.56); 9) Função mb_strrpos() — Parâmetro de encoding deprecated A função mb_strrpos() localiza a posição da última ocorrência de um valor em uma string. No PHP 8.2, informar a codificação como terceiro parâmetro está deprecated. Em vez disso, passe um offset como terceiro parâmetro e a codificação como quarto. ❌ Exemplo não recomendado: 1. $string = 'O rato roeu a roupa'; 2. echo mb_strrpos($string, 'roeu', 'UTF-8'); ✅ Forma correta: 1. $string = 'O rato roeu a roupa'; 2. echo mb_strrpos($string, 'roeu', 0, 'UTF-8'); 10) Propriedades dinâmicas (dynamic properties) — Deprecated No PHP 8.2, criar propriedades que não existem na classe diretamente em um objeto (por exemplo, obj->nova = 1;) passou a gerar deprecation. Esse comportamento só é permitido quando a própria classe autoriza a criação dinâmica de propriedades ou quando o objeto é do tipo stdClass. Antes (sem aviso): Era possível criar propriedades dinamicamente em objetos sem que o PHP emitisse qualquer aviso. 1. class User {} $u = new User(); 2. $u->name = "Ana"; // dynamic property PHP 8.2 (gera deprecation): Esse tipo de uso passou a gerar deprecation. Para evitar o aviso, você pode: 1. Declarar a propriedade diretamente na classe; Usar o atributo #[\AllowDynamicProperties] (solução paliativa); Utilizar WeakMap quando você não tem controle sobre a classe. 11) “Relative callables” — Deprecated Alguns formatos de callable que funcionavam com call_user_func(), mas não funcionam corretamente quando executados como $callable(), passaram a ser marcados como deprecated no PHP 8.2. Isso inclui chamadas que dependem do contexto da classe, como "self::method", "parent::method", "static::method" e ["self", "method"] Evite usar: 1. call_user_func("self::doStuff"); 2. call_user_func(["self", "doStuff"]); Use no lugar: O nome completo da classe: 1. call_user_func("MinhaClasse::doStuff"); 2. call_user_func(["MinhaClasse", "doStuff"]); Ou uma closure, quando precisar acessar o contexto atual: 1. call_user_func(fn() => $this->doStuff()); 12) Interpolação "${var}" e "${expr}" em strings — Deprecated No PHP 8.2, o uso de interpolação no formato"${var}" e "${expr}" em strings passou a ser deprecated, pois esse estilo é menos claro e pode causar ambiguidade. Evite: 1. echo "Olá ${name}"; 2. echo "Total: ${arr['total']}"; Use: 1. echo "Olá $name"; 2. echo "Olá {$name}"; 3. echo "Total: {${arr['total']}}"; // para expressões 13) utf8_encode() e utf8_decode() — Deprecated As funções utf8_encode() e utf8_decode() foram marcadas como deprecated no PHP 8.2, pois assumem um encoding fixo, o que pode gerar resultados incorretos em diferentes cenários. Substituições comuns: 1. mb_convert_encoding($str, 'UTF-8', 'ISO-8859-1') // ajuste o encoding de origem conforme o caso 2. iconv('ISO-8859-1', 'UTF-8//TRANSLIT', $str) // quando aplicável Quote Essas funções assumem o encoding ISO-8859-1 como padrão, o que pode causar confusão e conversões incorretas; por isso foram descontinuadas. 14) Funções “case-insensitive” e conversão de maiúsculas/minúsculas — Mudança de comportamento No PHP 8.2, várias funções que convertem ou comparam texto ignorando maiúsculas e minúsculas passaram a usar regras ASCII (locale padrão “C”). Isso inclui funções como strtolower(), strtoupper(), ucwords() e str_ireplace(). Com essa mudança, essas funções não consideram mais regras específicas de idioma, o que pode afetar textos com acentuação ou idiomas com regras próprias de capitalização, como português (pt-BR) e turco (tr-TR). Para trabalhar corretamente com textos localizados ou caracteres acentuados, utilize a extensão MBString, por exemplo: 1. mb_strtolower($texto, 'UTF-8'); 15) glob() com open_basedir — Mudança no retorno No PHP 8.2, o comportamento da função glob() mudou quando a diretiva open_basedir está ativo. 1. Se todos os caminhos forem bloqueados pelo open_basedir, glob() passa a retornar um array vazio ([]) — antes, o retorno era false. 2. Se apenas alguns caminhos forem bloqueados, um warning pode ser exibido. Código que pode ser afetado: 1. $files = glob($pattern); 2. if ($files === false) { 3. // ... 4. } Ajuste recomendado: Atualize a verificação para considerar também o retorno [], garantindo que o código trate corretamente os dois cenários. Correção (tratar false e []): 1. $files = glob($pattern); 2. if ($files === false || $files === []) { 3. // Nenhum arquivo encontrado OU acesso bloqueado pelo open_basedir 4. // trate aqui (fallback, log, etc.) 5. } else { 6. foreach ($files as $file) { 7. // processa os arquivos 8. } 9. } Alternativa mais curta (quando não precisa diferenciar false de []): 1. $files = glob($pattern); 2. if (empty($files)) { 3. // vazio ([]) ou false 4. } else { 5. foreach ($files as $file) { 6. // ... 7. } 8. } 16) Outros comportamentos que podem gerar “efeitos colaterais” (menos comuns) No PHP 8.2, algumas mudanças menores podem causar diferenças de resultado em códigos que dependem exatamente do valor retornado ou da ordem dos dados. str_split("") agora retorna [] Isso pode afetar validações que esperam sempre pelo menos um item no array. 1. var_dump(str_split("")); 2. // PHP 8.2: array(0) { } 3. // Antes:  array(1) { [0]=> string(0) "" } var_export() e nomes de classes totalmente qualificados A função var_export() passou a exportar nomes de classes usando o nome totalmente qualificado (incluindo \), principalmente quando a classe está dentro de um namespace. Isso pode gerar diferenças em testes automatizados, snapshots ou comparações de string. 1. namespace App\Model; 2. class User {} 3. echo var_export(new User(), true); 4. // PHP 8.2: \App\Model\User::__set_state(array( 5. // ... 6. // )) ksort() / krsort() com SORT_REGULAR e strings numéricas Em alguns casos, a ordem dos elementos pode mudar quando as chaves do array são strings numéricas. Por exemplo, "2" e "10", pois passam a seguir as regras atuais. 1. $a = ["10" => "dez", "2" => "dois", "1" => "um"]; 2. ksort($a, SORT_REGULAR); 3. var_dump(array_keys($a)); 4. krsort($a, SORT_REGULAR); 5. var_dump(array_keys($a));