Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Schema Generator | 422 | 195 | 12 | 3 months ago | 28 | October 06, 2022 | 15 | mit | PHP | |
PHP Model Scaffolding from Schema.org and other RDF vocabularies | ||||||||||
Graphqlbundle | 291 | 15 | 5 | 2 years ago | 42 | July 31, 2019 | 18 | mit | PHP | |
Pure PHP implementation of GraphQL Server – Symfony Bundle | ||||||||||
Liform | 131 | 6 | 4 | 3 days ago | 17 | October 06, 2020 | 16 | mit | PHP | |
PHP library to render Symfony Forms to JSON Schema | ||||||||||
Liformbundle | 129 | 3 | 20 | 19 days ago | 19 | October 06, 2020 | 7 | mit | PHP | |
Symfony Bundle to render Symfony Forms to JSON Schema | ||||||||||
Dbal Schema | 92 | 2 | 1 | a month ago | 9 | January 25, 2022 | mit | PHP | ||
DB schema manager for Doctrine DBAL | ||||||||||
Knpjsonschemabundle | 72 | 1 | 6 months ago | 2 | July 02, 2015 | 7 | mit | PHP | ||
A bundle to generate json schema based on various metadata | ||||||||||
Avro Serde Php | 42 | 3 | 5 | 7 months ago | 13 | November 15, 2020 | 12 | mit | PHP | |
Avro Serialisation/Deserialisation (SerDe) library for PHP 7.3+ & 8.0 with a Symfony Serializer integration | ||||||||||
Ezplatform Graphql | 31 | 11 | 14 | 7 days ago | 64 | February 03, 2023 | 6 | other | PHP | |
GraphQL server for eZ Platform, the open source Symfony CMS. | ||||||||||
Doctrine Dbal Schema | 30 | 16 | 33 | a year ago | 25 | March 21, 2022 | 1 | other | PHP | |
Phpunit Json Assertions | 28 | 32 | 11 | a year ago | 9 | June 22, 2021 | 3 | mit | PHP | |
JSON assertions for PHPUnit (including JSON Schema) |
This Symfony Bundle provides basic abstraction layer for cross-DBMS schema import.
It introduces custom Yaml format for schema definition and provides autowired APIs.
Provided by APIs defined on the \EzSystems\DoctrineSchema\API\SchemaImporter
interface,
imports given Yaml source string or Yaml file into \Doctrine\DBAL\Schema
object.
Provided by APIs defined on the \EzSystems\DoctrineSchema\API\SchemaExporter
interface,
exports given \Doctrine\DBAL\Schema
object to the custom Yaml format.
Provided by APIs defined on the \EzSystems\DoctrineSchema\API\Builder\SchemaBuilder
interface,
is an extensibility point to be used by Symfony-based projects.
The SchemaBuilder
is event-driven. To hook into the process of building schema, a custom EventSubscriber
is required, e.g.
use EzSystems\DoctrineSchema\API\Event\SchemaBuilderEvent;
use EzSystems\DoctrineSchema\API\Event\SchemaBuilderEvents;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class BuildSchemaSubscriber implements EventSubscriberInterface
{
/**
* @var string
*/
private $schemaFilePath;
public function __construct(string $schemaFilePath)
{
$this->schemaFilePath = $schemaFilePath;
}
/**
* Returns an array of events this subscriber wants to listen to.
*
* @return string[]
*/
public static function getSubscribedEvents()
{
return [
SchemaBuilderEvents::BUILD_SCHEMA => ['onBuildSchema', 200],
];
}
/**
* @param \EzSystems\DoctrineSchema\API\Builder\SchemaBuilderEvent $event
*/
public function onBuildSchema(SchemaBuilderEvent $event)
{
$event
->getSchemaBuilder()
->importSchemaFromFile($this->schemaFilePath);
}
}
Schema provided in this way can be imported into Schema object by e.g.:
public function __construct(SchemaBuilder $schemaBuilder)
{
$this->schemaBuilder = $schemaBuilder;
}
public function importSchema()
{
$schema = $this->schemaBuilder->buildSchema();
// ...
}
Copyright (C) 1999-2021 Ibexa AS (formerly eZ Systems AS). All rights reserved.
This source code is available separately under the following licenses:
A - Ibexa Business Use License Agreement (Ibexa BUL), version 2.4 or later versions (as license terms may be updated from time to time) Ibexa BUL is granted by having a valid Ibexa DXP (formerly eZ Platform Enterprise) subscription, as described at: https://www.ibexa.co/product For the full Ibexa BUL license text, please see: https://www.ibexa.co/software-information/licenses-and-agreements (latest version applies)
AND
B - GNU General Public License, version 2 Grants an copyleft open source license with ABSOLUTELY NO WARRANTY. For the full GPL license text, please see: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html