socialweb / atproto-lexicon
基于PHP的AT协议应用Lexicon解析器
0.2.1
2023-05-25 01:35 UTC
Requires
- php: ^8.2
Requires (Dev)
- ramsey/devtools: ^2.0
- symfony/finder: ^6.2
This package is auto-updated.
Last update: 2024-08-31 00:31:46 UTC
README
基于PHP的AT协议应用Lexicon解析器
关于
socialweb/atproto-lexicon 解析Lexicon架构,用于AT协议。
当前版本符合@atproto/lexicon的提交a900e95。
本项目遵循行为准则。参与本项目及其社区,您应遵守此准则。
安装
使用Composer将此包作为依赖项安装。
composer require socialweb/atproto-lexicon
使用方法
use SocialWeb\Atproto\Lexicon\Nsid\Nsid; use SocialWeb\Atproto\Lexicon\Parser\DefaultParserFactory; use SocialWeb\Atproto\Lexicon\Parser\DefaultSchemaRepository; use SocialWeb\Atproto\Lexicon\Parser\LexiconParser; $schemas = '/path/to/bluesky-social/lexicons'; $schemaRepository = new DefaultSchemaRepository($schemas); $parser = new LexiconParser(new DefaultParserFactory($schemaRepository)); $nsid = new Nsid('app.bsky.feed.post'); $schemaFile = $schemaRepository->findSchemaPathByNsid($nsid); $schemaContents = file_get_contents((string) $schemaFile); $document = $parser->parse((string) $schemaContents);
解析引用
使用此库,您可以解析Lexicon架构中的引用。
例如
use SocialWeb\Atproto\Lexicon\Types\LexResolvable; foreach ($document->defs as $defId => $def) { if ($def instanceof LexResolvable) { $resolved = $def->resolve(); } }
贡献
欢迎贡献!要贡献,请熟悉CONTRIBUTING.md。
协调披露
保护用户信息的安全是首要任务,我们欢迎外部安全研究者的贡献。如果您认为在存储库维护的软件中发现了一个安全问题,请阅读SECURITY.md以获取提交漏洞报告的说明。
版权和许可
版权 © socialweb/atproto-lexicon贡献者和根据自由软件基金会发布的GNU通用公共许可证(LGPL-3.0-or-later)许可使用。请参阅COPYING.LESSER、COPYING和NOTICE以获取更多信息。