A PHP-based Lexicon parser for applications using the AT Protocol
A PHP-based Lexicon parser for applications using the AT Protocol
socialweb/atproto-lexicon parses Lexicon schemas for the AT Protocol.
The current version is compliant with @atproto/lexicon at commit-ish a900e95.
This project adheres to a code of conduct. By participating in this project and its community, you are expected to uphold this code.
Install this package as a dependency using 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);
Using this library, you may resolve references in Lexicon schemas.
For example:
use SocialWeb\Atproto\Lexicon\Types\LexResolvable;
foreach ($document->defs as $defId => $def) {
if ($def instanceof LexResolvable) {
$resolved = $def->resolve();
}
}
Contributions are welcome! To contribute, please familiarize yourself with CONTRIBUTING.md.
Keeping user information safe and secure is a top priority, and we welcome the contribution of external security researchers. If you believe you've found a security issue in software that is maintained in this repository, please read SECURITY.md for instructions on submitting a vulnerability report.
Copyright © the socialweb/atproto-lexicon Contributors and licensed for use under the terms of the GNU Lesser General Public License (LGPL-3.0-or-later) as published by the Free Software Foundation. Please see COPYING.LESSER, COPYING, and NOTICE for more information.
Libphpsky is a PHP library designed to interact with Bluesky decentralized social media protocol - AT protocol.
An small PHP library for Bluesky social using the AT Protocol.
Helper library to post to Bluesky Social
Bluesky notification channel for the Laravel framework
Simple helper for interacting with the Bluesky API/AT protocol
Converting a BlueSky Starter Pack to User List
Your Brand Here!
50K+ engaged viewers every month
Limited spots available!
📧 Contact us via email🦋 Contact us on Bluesky