Uzantı

Schema Functions

PHP programlama dilinin işlevselliğini GraphQL alanları ve direktifleri aracılığıyla sunun.

Logo
Target Image

Click to watch tutorial video - 07:54

GraphQL şemasına, PHP programlama dilinin işlevselliğini sunan alanlar ve direktifler eklenir.

Fonksiyon Alanları

Fonksiyon alanları global alanlardır; dolayısıyla GraphQL şemasındaki her türe eklenir: QueryRoot'a, aynı zamanda Post, User vb. türlere de.

Fonksiyon alanları, veriler alındıktan sonra bunları işlemek için kullanışlıdır; bir alan değerini istenen şekilde dönüştürmemize olanak tanır ve güçlü veri içe/dışa aktarma yetenekleri sunar.

Örneğin, Post.hasComments alanına sahipken karşıt değere ihtiyaç duyabiliriz. Post.notHasComments adında yeni bir alan oluşturmak yerine (bunun için PHP kodunu düzenlememiz gerekirdi), hasComments değerini bir not alanına geçirmek için Field to Input özelliğini kullanabiliriz; böylece yeni değeri her zaman GraphQL queries içinde hesaplarız:

query {
  posts {
    id
    hasComments
    notHasComments: _not(value: $__hasComments)
  }
}

Fonksiyon Direktifleri

GraphQL şemasına, programlama dillerinde (PHP gibi) yaygın olarak bulunan işlevselliği sunan direktifler eklenir.

Direktif alanları, veriler alındıktan sonra bunları işlemek için kullanışlıdır; bir alan değerini istenen şekilde dönüştürmemize olanak tanır ve güçlü veri içe/dışa aktarma yetenekleri sunar.

Örneğin, şu queries:

query {
  posts {
    title @strUpperCase
  }
}

...şu yanıtı üretir:

{
  "data": {
    "posts": [
      {
        "title": "HELLO WORLD!"
      },
      {
        "title": "LOVELY WEATHER"
      }
    ]
  }
}

Yardımcı Alanlar

GraphQL şemasına, yaygın olarak kullanılan yardımcı işlevsellik sağlayan alanlar eklenir.

Yardımcı alanlar global alanlardır; dolayısıyla GraphQL şemasındaki her türe eklenir: QueryRoot'a, aynı zamanda Post, User vb. türlere de.

Bu queries ile web sitesindeki kullanıcıların ID'lerini alır ve ID'yi parametre olarak geçirerek yeni bir GraphQL queries çalıştırırız:

query {
  users {
    userID: id
    url: _urlAddParams(
      url: "https://somewebsite/endpoint/user-data",
      params: {
        userID: $__userID
      }
    )
    headers: _httpRequestHeaders
    headerNameValueEntryList: _objectConvertToNameValueEntryList(
      object: $__headers
    )
    _sendHTTPRequest(input: {
      url: $__url
      options: {
        headers: $__headerNameValueEntryList
      }
    }) {
      statusCode
      contentType
      body
    }
  }
}

Ortam Alanları

GraphQL şemasına, bir ortam değişkeninden veya PHP sabitinden (çoğunlukla wp-config.php'de tanımlanan, ancak başka yerlerde de tanımlanabilen) değer almayı sağlayan global _env alanı eklenir.

Bu queries, özel bir GitHub deposuna erişmek için ayarlayabileceğimiz GITHUB_ACCESS_TOKEN ortam sabitini alır:

query {
  githubAccessToken: _env(name: "GITHUB_ACCESS_TOKEN")
}

E-posta Gönderici

GraphQL şemasına global mutation _sendEmail eklenir.

_sendEmail mutation'ı, WordPress wp_mail fonksiyonunu çalıştırarak e-posta gönderir. Sonuç olarak, WordPress'te e-posta gönderimi için tanımlanan yapılandırmayı (kullanılacak SMTP sağlayıcısı gibi) kullanır.

E-posta, messageAs girdisinin değerine bağlı olarak "text" veya "HTML" içerik türüyle gönderilebilir (bu, yalnızca özelliklerinden birinin sağlanabildiği bir "oneof" InputObject'tir).

mutation {
  _sendEmail(
    input: {
      to: "target@email.com"
      subject: "Email with text content"
      messageAs: {
        text: "Hello world!"
      }
    }
  ) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
  }
}

All-Inclusive paketini satın al

Bireysel
$79
/yıl
“All-Inclusive” paket
Lisans: 1 alan adı
Satın Al ->
  • 1 alan adı
  • Destek
  • Ürün güncellemeleri
Kurumsal
$99
/yıl
“All-Inclusive” paket
Lisans: 3 alan adı
Satın Al ->
  • 3 alan adı
  • Destek
  • Ürün güncellemeleri
Profesyonel
$199
/yıl
“All-Inclusive” paket
Lisans: 10 alan adı
Satın Al ->
  • 10 alan adı
  • Destek
  • Ürün güncellemeleri

Lisans 1 yıllıktır (her yıl yenilenebilir). Fiyatlar USD cinsindendir.

Daha fazla alan adına mı ihtiyacınız var? Bize ulaşın

30 günlük para iade garantisi

Herhangi bir uzantıyı iade talep edebileceğiniz güvenceyle satın alın

Testimonial image

“Bu eklenti bambaşka bir seviye! Sitenizi tamamen yeni bir boyuta taşıyor ve onu güçlü bir makineye dönüştürüyor. Ne kadar çok keşfederseniz o kadar etkileniyorsunuz. Kararsızsanız, hemen alın; almazsanız sonra kendinize kızacaksınız. Dokümantasyon kendi adına konuşuyor ve son derece sağlam. Leo (geliştirici) şimdiye kadar karşılaştığım en keskin ve uyanık geliştiricilerden biri. Süper hızlı yanıt veriyor ve işini gerçekten iyi biliyor. Bu eklentinin ne kadar çok şey yapabildiğine inanılmaz derecede sevindim. Olanaklar neredeyse sonsuz; SEO sizin için önemliyse, bu araç sitenizin sıralamasını ciddi şekilde yükseltecek.”

olmate - Web Geliştirici

Bültenimize abone olun

Gato GraphQL'deki tüm güncellemelerden haberdar olun.