emsifa/graphit

PHP GraphQL Framework

dev-master 2018-05-11 11:51 UTC

This package is auto-updated.

Last update: 2024-10-22 01:17:47 UTC


README

Graphit adalah 'framework' khusus untuk membuat aplikasi graphql. Tidak seperti framework PHP pada umumnya yang menyajikan RESTful routing, middleware, ORM, dsb. Graphit hanya memiliki 1 fungsi utama, yaitu mengeksekusi graphql query (gql). Untuk mengeksekusi gql tersebut, Graphit menggunakan library webonyx/graphql-php.

Seperti framework pada umumnya, Graphit dibuat bertujuan untuk:

  1. Easy to build.
  2. Easy to maintain.

Untuk tujuan tersebut, Graphit menghadirkan fitur-fitur sebagai berikut:

  • Mempermudah definisi schema dengan graphql SDL.
  • Memaksa Membantu menciptakan struktur direktori yang lebih mudah dipahami.
  • AST caching untuk mempercepat performa aplikasi.
  • Depencency Injection (DI) Container.
  • Upload file mengikuti spesifikasi graphql-multipart-request-spec.
  • Integrasi GraphiQL.
  • Mudah di integrasikan ke beberapa framework PHP populer.

Instalasi

Untuk menginstall Graphit, silahkan buat direktori aplikasi baru. Kemudian jalankan perintah composer dibawah ini:

composer require emsifa/graphit:dev-master

Setup

On progress (lihat di folder example)

Konfigurasi

On progress (lihat di folder example)

TODOS

  • Automatic build schema from .graphql file
    • Register Queries
    • Register Mutations
    • Register Types
    • Register Enums
    • Register Inputs
    • Register Interfaces
    • Register Unions
  • Execute gql from HTTP
  • GraphiQL integration
  • AST caching
  • Upload file support following this specs
  • Framework Integrations
    • Laravel
    • Slim
    • Silex
    • Yii2
    • Rakit