makowskid/dcfparser
Composer 安装命令:
composer require makowskid/dcfparser
包简介
DcfParser - parse Debian Control Files with PHP
关键字:
README 文档
README
DcfParser is a PHP & Laravel package to parse Debian Control Files (DCF format).
Requirements
- PHP 8.2+
Installation
composer require makowskid/dcfparser
Usage
Parse a file (first stanza)
$parser = new \makowskid\DcfParser\DcfParser(); $data = $parser->parseFile('/path/to/control'); // ['source' => 'gentoo', 'section' => 'games', ...]
Parse a string
$data = $parser->parseString("Source: gentoo\nSection: games\n");
Parse all stanzas
DCF files can contain multiple stanzas (paragraphs) separated by blank lines:
$stanzas = $parser->parseFileAll('/path/to/control'); // or $stanzas = $parser->parseStringAll($content); // Returns: [['source' => 'gentoo', ...], ['package' => 'gentoo', ...]]
Laravel
The package auto-discovers its service provider. Use the facade:
\DcfParser::parseFile('/path/to/control'); \DcfParser::parseString($content); \DcfParser::parseFileAll('/path/to/control'); \DcfParser::parseStringAll($content);
DCF Format
Reference: https://www.debian.org/doc/debian-policy/ch-controlfields.html
Example input:
Source: gentoo
Section: games
Priority: optional
Maintainer: Josip Rodin <joy-mg@debian.org>
Build-Depends: debhelper (>=10)
Homepage: https://packages.debian.org/gentoo
Package: gentoo
Architecture: any
Description: A nice game
Gentoo is a classic Jumpn Run sidescrolling game.
Parsed result (first stanza):
[
'source' => 'gentoo',
'section' => 'games',
'priority' => 'optional',
'maintainer' => 'Josip Rodin <joy-mg@debian.org>',
'build-depends' => 'debhelper (>=10)',
'homepage' => 'https://packages.debian.org/gentoo',
]
Key behaviors:
- Keys are normalized to lowercase
- Only the first
:splits key from value - Continuation lines (starting with whitespace) are appended to the previous field
- Blank lines separate stanzas
- Comment lines (starting with
#) are skipped - Throws
DcfParserExceptionon malformed input or file errors
Development
composer install composer test # Run tests composer analyse # PHPStan (level 8) composer cs-fix # Fix code style composer cs-check # Check code style
Credits
- Dawid Makowski
- Alin Purcaru - thanks for inspiration on StackOverflow
License
The MIT License (MIT). See the License File for more information.
makowskid/dcfparser 适用场景与选型建议
makowskid/dcfparser 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 690 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 11 月 15 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「DCF」 「dcfparser」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 makowskid/dcfparser 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 makowskid/dcfparser 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 690
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 14
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-11-15