dayvsonspacca/psl-toml
最新稳定版本:v1.0.5
Composer 安装命令:
composer require dayvsonspacca/psl-toml
包简介
A TOML parser for PHP built on top of php-standard-library/php-standard-library
README 文档
README
A TOML 1.1 parser for PHP 8.4+ built on top of azjezz/psl.
Requirements
- PHP 8.4+
php-standard-library/php-standard-library^6.1
Installation
composer require dayvsonspacca/psl-toml
Usage
Parsing a string
use PslToml\Toml; use Psl\Result\Success; use Psl\Type; $result = Toml::parse(<<<TOML name = "Alice" version = 1 [database] host = "localhost" port = 5432 TOML); if ($result instanceof Success) { $doc = $result->getResult(); $doc->get('name', Type\string())->unwrap(); // "Alice" $doc->get('database.port', Type\int())->unwrap(); // 5432 }
Loading a file
use PslToml\Toml; use Psl\Result\Success; use Psl\Type; $result = Toml::load('/path/to/config.toml'); if ($result instanceof Success) { $doc = $result->getResult(); }
Working with the Document
// Check if a key exists $doc->has('database.host'); // true // Get a nested table as a Document $db = $doc->table('database')->unwrap(); $db->get('host', Type\string())->unwrap(); // "localhost" // List top-level keys $doc->keys(); // ['name', 'version', 'database'] // Export to a plain PHP array $doc->toArray();
Result API
Both Toml::parse() and Toml::load() return a Psl\Result\ResultInterface<Document>, so you never need a try/catch:
use Psl\Result\Success; use Psl\Result\Failure; $result = Toml::parse($source); if ($result instanceof Failure) { $error = $result->getThrowable(); // ParseException with position info }
License
MIT — see LICENSE.
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-04