Tiện mở rộng

Schema Functions

Hiển thị các chức năng từ ngôn ngữ lập trình PHP thông qua các trường và chỉ thị GraphQL.

Logo
Target Image

Click to watch tutorial video - 07:54

Schema GraphQL được cung cấp các trường và chỉ thị để hiển thị các chức năng từ ngôn ngữ lập trình PHP.

Trường Hàm

Các trường hàm là các trường toàn cục, do đó chúng được thêm vào mọi kiểu trong schema GraphQL: trong QueryRoot, nhưng cũng trong Post, User, v.v.

Các trường hàm hữu ích để thao tác dữ liệu sau khi đã được truy xuất, cho phép chúng ta chuyển đổi giá trị của một trường theo bất kỳ cách nào cần thiết, và cung cấp khả năng nhập/xuất dữ liệu mạnh mẽ.

Ví dụ, trong khi chúng ta có trường Post.hasComments, chúng ta có thể cần giá trị ngược lại. Thay vì tạo một trường mới Post.notHasComments (mà sẽ cần chỉnh sửa mã PHP), chúng ta có thể sử dụng tính năng Field to Input để truyền giá trị từ hasComments vào trường not, từ đó tính toán giá trị mới hoàn toàn trong GraphQL query:

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

Chỉ Thị Hàm

Schema GraphQL được cung cấp các chỉ thị để hiển thị các chức năng thường gặp trong các ngôn ngữ lập trình (chẳng hạn như PHP).

Các trường chỉ thị hữu ích để thao tác dữ liệu sau khi đã được truy xuất, cho phép chúng ta chuyển đổi giá trị của một trường theo bất kỳ cách nào cần thiết, và cung cấp khả năng nhập/xuất dữ liệu mạnh mẽ.

Ví dụ, query này:

query {
  posts {
    title @strUpperCase
  }
}

...sẽ tạo ra kết quả sau:

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

Trường Hỗ Trợ

Schema GraphQL được thêm các trường cung cấp các chức năng hỗ trợ thường dùng.

Các trường hỗ trợ là các trường toàn cục, do đó chúng được thêm vào mọi kiểu trong schema GraphQL: trong QueryRoot, nhưng cũng trong Post, User, v.v.

Trong query này, chúng ta lấy ID của các người dùng trên trang web và thực thi một GraphQL query mới với ID của họ làm tham số:

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
    }
  }
}

Trường Môi Trường

Schema GraphQL được cung cấp trường toàn cục _env, cho phép lấy giá trị từ một biến môi trường hoặc từ một hằng số PHP (thường được định nghĩa trong wp-config.php, nhưng cũng có thể được định nghĩa ở nơi khác).

Query này lấy hằng số môi trường GITHUB_ACCESS_TOKEN mà chúng ta có thể thiết lập để truy cập một kho lưu trữ riêng tư trên GitHub:

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

Gửi Email

Schema GraphQL được cung cấp mutation toàn cục _sendEmail.

Mutation _sendEmail gửi email bằng cách thực thi hàm WordPress wp_mail. Kết quả là nó sẽ sử dụng cấu hình đã được định nghĩa để gửi email trong WordPress (chẳng hạn như nhà cung cấp SMTP được sử dụng).

Email có thể được gửi với loại nội dung "text" hoặc "HTML", tùy thuộc vào giá trị của đầu vào messageAs (đây là một InputObject kiểu "oneof", chỉ có thể cung cấp một trong các thuộc tính của nó).

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

Mua gói All-Inclusive

Personal
$79
/năm
“All-Inclusive” gói
Giấy phép cho 1 tên miền
Mua ->
  • 1 tên miền
  • Hỗ trợ
  • Cập nhật sản phẩm
Organization
$99
/năm
“All-Inclusive” gói
Giấy phép cho 3 tên miền
Mua ->
  • 3 tên miền
  • Hỗ trợ
  • Cập nhật sản phẩm
Professional
$199
/năm
“All-Inclusive” gói
Giấy phép cho 10 tên miền
Mua ->
  • 10 tên miền
  • Hỗ trợ
  • Cập nhật sản phẩm

Giấy phép có hiệu lực 1 năm (có thể gia hạn mỗi năm). Giá tính bằng USD.

Bạn cần thêm tên miền? Liên hệ chúng tôi

Đảm bảo hoàn tiền trong 30 ngày

Mua bất kỳ tiện mở rộng nào với sự tự tin rằng bạn có thể yêu cầu hoàn tiền

Features illustration
Money back guarantee

Đọc chính sách hoàn tiền của chúng tôi

Testimonial image

“Plugin này đẳng cấp thật sự! Nó đưa trang web của bạn lên một tầm cao hoàn toàn mới và biến nó thành một cỗ máy mạnh mẽ. Càng khám phá những gì nó có thể làm, bạn càng thấy ấn tượng. Nếu bạn đang do dự thì hãy mua ngay đi: nếu không bạn sẽ hối hận sau này. Tài liệu hướng dẫn nói lên tất cả và cực kỳ vững chắc. Leo (nhà phát triển) là một trong những lập trình viên nhạy bén và tháo vát nhất mà tôi từng gặp. Anh ấy phản hồi siêu nhanh và rõ ràng am hiểu sâu sắc lĩnh vực của mình. Thành thật mà nói, tôi rất phấn khởi với những gì plugin này có thể làm. Khả năng ứng dụng gần như vô hạn, và nếu SEO quan trọng với bạn, công cụ này sẽ giúp trang web của bạn lên top mạnh mẽ.”

olmate - Lập trình viên web

Đăng ký nhận bản tin của chúng tôi

Cập nhật tất cả những điều mới từ Gato GraphQL.