O CF-e-SAT tem leiaute, fluxo e assinatura próprios. Reaproveitar o gerador da NF-e com duas tags trocadas produz cupom recusado no balcão. Veja as diferenças e um desenho com um emissor por documento.
A biblioteca de NF-e que entrou em 2018 não se atualiza sozinha. Veja como medir a saúde do projeto, fixar a versão, testar cada nota técnica em homologação e ter plano se ele parar.
Uma nota de teste autorizada em produção é documento fiscal de verdade. Veja o que acontece quando o teste vai para o ambiente real e como separar ambiente, dados e arquivos com uma trava no código.
O código que cria o grid roda antes do script que define a biblioteca, ou uma segunda cópia apaga a primeira. Veja como async, defer e script inline decidem a ordem e como corrigir de vez.
Troque o arquivo combinado com "tudo marcado" por um pacote por tela, gerado a partir das importações, medido e reproduzível por um comando no repositório.
Detecte quando o PHP descartou o upload antes do seu código, trate cada código de erro com uma mensagem clara e grave o arquivo fora da pasta pública, com nome gerado.
Defina as regras do formulário uma vez no PHP, entregue ao jQuery Validate como JSON e faça o servidor recusar o mesmo dado com a mesma mensagem, com ou sem JavaScript.
Reconheça os sete sinais de um login de fórum antigo, reescreva com PDO, password_hash e sessão regenerada, e migre as senhas em MD5 sem obrigar ninguém a cadastrar de novo.
Desligue a exibição de erros no lugar certo (php.ini, pool do FPM ou .user.ini), mande tudo para o log com um código de ocorrência e confirme no servidor que a configuração pegou.
Saiba avaliar um banco MySQL gratuito antes de pôr dado real nele e siga um plano de migração com mysqldump, contagem de linhas e troca de conexão sem perder registros.
Descubra se o seu phpMyAdmin responde para qualquer um, restrinja ao próprio servidor, entre por túnel SSH e tire do painel o login de root e o usuário com poder demais.
Troque dezenas de hexadecimais soltos por oito cores nomeadas pelo uso, com modo escuro, e um script em Node que reprova o build quando algum par de texto e fundo fica ilegível.