Need help with PoP?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

leoloso
225 Stars 24 Forks GNU General Public License v2.0 11.9K Commits 23 Opened issues

Description

Monorepo of the PoP project, including: a server-side component model in PHP, a GraphQL server, a GraphQL API plugin for WordPress, and a website builder

Services available

!
?

Need anything else?

Contributors list

# 168,359
Shell
GraphQL
WordPre...
Symfony
10169 commits

PoP

PoP is a monorepo containing several projects.

The GraphQL API for WordPress plugin

GraphQL API for WordPress is a forward-looking and powerful GraphQL server for WordPress.

Plugins can extend the GraphQL schema, to fetch their own data.

GraphQL By PoP

GraphQL by PoP is a CMS-agnostic GraphQL server in PHP.

PoP - set of PHP components

PoP is a set of libraries which provide a server-side component model in PHP, and the foundation to implement applications with it.

  • Website: getpop.org
  • Source code:
    • Backbone: Libraries providing the architectural scaffolding.
    • Engine: The engine of the application.
    • Schema: Self-sufficient schema elements, such as directives.
    • CMSSchema: Schema elements abstracted away from the CMS through interfaces, and to be satisfied for some particular CMS.
    • WPSchema: WordPress-specific schema elements.
    • API: Packages to access the schema data through an API, including REST and GraphQL.

Site Builder (WIP)

Site Builder is a set of PHP components to build a website using PoP's component-model architecture.

Similar to WordPress, it accepts themes.


Table of Contents

  1. Setting-up the development environment
  2. Repo visualization
  3. Layer dependency graph
  4. Supported PHP features
  5. How is the GraphQL server CMS-agnostic
  6. Why are there so many packages in the repo
  7. Why a monorepo
  8. How transpiling works
  9. How scoping works
  10. Installing the GraphQL API for WordPress plugin

Standards

PSR-1, PSR-4 and PSR-12.

To check the coding standards via PHP CodeSniffer, run:

composer check-style

To automatically fix issues, run:

composer fix-style

Testing

To execute PHPUnit, run:

composer test

Static analysis

To execute PHPStan, run:

composer analyse

Previewing code downgrade

Via Rector (dry-run mode):

composer preview-code-downgrade

Report issues

Use the issue tracker to report a bug or request a new feature for all packages in the monorepo.

Contributing

Please see CONTRIBUTING and CODEOFCONDUCT for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

GNU General Public License v2 (or later). Please see License File for more information.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.