mugomes/mgtoon
最新稳定版本:3.0.0
Composer 安装命令:
composer require mugomes/mgtoon
包简介
Biblioteca para trabalhar com Token-Oriented Object Notation.
README 文档
README
MGTOON é uma biblioteca leve e minimalista escrita em PHP para trabalhar com arquivos no formato TOON (Text-Oriented Object Notation), um formato textual simples e humano para armazenamento estruturado de dados tabulares.
Ela foi projetada para oferecer CRUD completo, validação, serialização determinística e zero dependências, sendo ideal para CLIs, ferramentas internas, projetos embarcados, configurações e pequenos bancos de dados em texto puro.
✨ Características
- Formato de dados simples, legível e versionável
- CRUD completo (
create,read,update,delete) - Definição explícita de chave primária
- Validação estrutural e semântica do TOON
- Serialização consistente (
toString) - Suporte a carregamento e salvamento em arquivos
- Zero dependências externas
- Compatível com PHP 8.4 ou superior
- Ideal para substituir CSV, INI ou JSON simples
📄 Formato TOON
Exemplo de um arquivo TOON:
user[id|name|email]
1|Pedro|pedro@email.com
2|Ana|ana@email.com
Estrutura
tipo[campo1|campo2|campo3]
valor1|valor2|valor3
valor1|valor2|valor3
- A primeira linha define o tipo e os campos
- As linhas seguintes são os registros
- Um campo é definido como chave primária
📦 Instalação
Via Composer (recomendado)
composer require mugomes/mgtoon
Manual
Copie o arquivo MGTOON.php para o seu projeto e faça a inclusão manual.
🚀 Uso básico
Criar uma estrutura TOON
<?php use MGTOON\MGTOON; $toon = new MGTOON(); $toon->create('user', ['id', 'name', 'email'], 'id'); $toon->add([ 'id' => 1, 'name' => 'Pedro', 'email' => 'pedro@email.com' ]); $toon->add([ 'id' => 2, 'name' => 'Ana', 'email' => 'ana@email.com' ]); echo $toon->toString();
📂 Trabalhando com arquivos
Carregar arquivo
$toon = new MGTOON(); $toon->loadFile('users.toon', 'id');
Salvar em arquivo
$toon->saveFile('users.toon');
📖 Leitura de dados
Ler todos os registros
$records = $toon->read();
Ler por chave primária
$user = $toon->read('1');
✏️ Atualização
$toon->update('1', [ 'email' => 'novo@email.com' ]);
- Apenas campos definidos no cabeçalho são atualizados
- Campos inexistentes são ignorados
❌ Exclusão
$toon->delete('2');
🧪 Validação
É possível validar um conteúdo TOON sem carregá-lo:
$result = $toon->validate($text); if ($result['valid']) { echo 'TOON válido'; } else { echo $result['error']; }
O que é validado?
- Estrutura do cabeçalho
- Quantidade de colunas
- Existência da chave primária
- Duplicidade de valores da chave primária
🔐 Chave primária
- Definida no momento da criação ou carregamento
- Obrigatória em novos registros
- Não pode conter valores duplicados
$toon->create('product', ['sku', 'name', 'price'], 'sku');
🧠 Casos de uso ideais
- Pequenos bancos de dados locais
- Ferramentas CLI
- Configurações versionáveis
- Dados temporários ou embarcados
- Alternativa simples a CSV/JSON
👤 Autor
Murilo Gomes Julio
📺 https://youtube.com/@mugomesoficial
🤝 Support
- GitHub Sponsors: https://github.com/sponsors/mugomes
- Apoie o projeto: https://mugomes.github.io/apoie.html
📜 License
Copyright (c) 2025-2026 Murilo Gomes Julio
Licensed under the MIT.
All contributions to the MiTemplate are subject to this license.
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-10