Cara menggunakan interface pada php

Jika Anda sudah mengikuti pengembangan alat komunikasi kantor tahun lalu atau lebih, saya yakin Anda telah mendengar banyak tentang Slack. Di tingkat permukaan, kendur adalah sekadar aplikasi chatting yang dirancang untuk bisnis, tapi karena perhatian terhadap detail dan ekstenbilitas, banyak komentator sudah mengatakan bahwa alat tersebut secara dramatis akan berubah bagaimana kita bekerja di masa depan.

Sebagai pengembang, kita berada dalam posisi yang baik untuk melompat pada tren dan berpikir tentang cara-cara yang kita dapat menggunakan Slack sebagai antarmuka pengguna chat-based untuk aplikasi kita.

Itulah sebabnya, dalam tutorial ini, Anda akan belajar bagaimana untuk memulai dengan mengintegrasikan aplikasi PHP Anda ke Slack, dengan membuat post pesan ke Slack channel dan menanggapi slash perintah.

Anda dapat mendownload source code untuk tutorial dari repositori GitHub terkait, atau membuat sendiri sementara akan melalui tutorial.

Tutorial kode terdiri dari dua bagian:

  • bare-bone tetapi lengkap antarmuka untuk berkomunikasi dengan Slack
  • sebuah contoh sederhana script yang menggunakan class Slack untuk mengirim pemberitahuan dan untuk menanggapi perintah slash

Mari kita mulai.

1. Buat aplikasi Anda dan menghubungkannya ke Slack

pencarian cepat Google untuk "Slack PHP" membawa segenggam antarmuka slack yang berbeda yang diciptakan oleh pengembang lain, sehingga Anda juga bisa pergi dengan proyek yang sudah ada, dan masukan ke aplikasi Anda.

Tetapi API tidaklah rumit, jadi tidak ada alasan untuk tidak memiliki beberapa menyenangkan dan pendekatan proyek dari bawah. Dengan cara ini, Anda akan tahu apa yang ada dalam API (dan integrasi). Hal ini selalu baik untuk melawan mitos hal-hal sedikit.

Pada inti dari tutorial ini adalah membangun antarmuka Slack, tetapi untuk menggunakan dan mengujinya, kita juga memerlukan aplikasi. Untuk ini, saya memutuskan untuk pergi dengan aplikasi PHP sederhana yang tidak menggunakan framework.

Berikut adalah bagaimana contoh aplikasi akan bekerja:

  1. Pertama kali Anda menjalankan aplikasi, Anda akan melihat tombol "Add to Slack untuk menghubungkan aplikasi ke Slack channel.
  2. Mengklik pada tombol akan memandu Anda melalui otentikasi berbasis OAuth Slack 's. Ketika aplikasi menerima token akses dari Slack, itu akan menyimpannya ke file teks sehingga itu kemudian dapat menggunakannya untuk berbicara ke Slack.
  3. Ketika otentikasi berbasis OAuth selesai, aplikasi akan menunjukkan bidang teks sederhana yang dapat digunakan untuk mengirim pemberitahuan menyenangkan ("Oh ya, saya adalah robot!") ke Slack channel anda.
  4. Akhirnya, di belakang layar, app akan merespon untuk memangkas perintah Anda atau rekan kerja Anda ketik di Slack channel terkait.
Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Anda dapat menjalankan aplikasi pada server PHP-diaktifkan di web, atau ikuti petunjuk dalam tutorial ini dan menjalankannya pada mesin pengembangan lokal Anda.

Demo aplikasi ini untuk demonstrasi saja, sehingga pada akhirnya, Anda mungkin memakai Slack antarmuka dan terhubung ke WordPress Anda yang sudah ada, Laravel atau proyek PHP lainnya. Seluruh tutorial, saya akan berbagi beberapa ide tentang bagaimana Anda dapat menggunakan interface class dalam aplikasi asli bukan aplikasi demo sederhana kami.

Langkah 1: Buat aplikasi PHP Anda

Pertama, mari kita mulai dengan menciptakan arsitektur dasar proyek dan menempatkan semua file di tempat.

Jika Anda mengunduh kode sumber dari GitHub, Anda dapat hanya cepat menelusuri langkah ini untuk memastikan bahwa Anda memahami bagaimana kode diatur dan kemudian pindah ke langkah berikutnya.

Di dalam direktori proyek, buat struktur file berikut:

  1. <?php
    
    084 File untuk aplikasi contoh yang dijelaskan di atas.
  2. <?php
    
    085: sebuah direktori yang akan berisi antarmuka slack yang akan dibuat dalam tutorial ini. Direktori akan berisi tiga file:
    1. <?php
      
      086 Slack interface class
    2. <?php
      
      087 Class yang memegang informasi akses slack dan memasukannya ke aplikasi yang menggunakan interface.
    3. <?php
      
      088 class exception untuk melewati kesalahan dari interface kode yang menggunakan itu.

Kemudian, dengan file di tempat, mari kita tambahkan beberapa konten untuk masing-masing sehingga kita memiliki kerangka kerja untuk mengembangkan fungsi sebenarnya.

Mulai dengan menambahkan form HTML utama dan beberapa kode pengganti untuk

<?php
084

1
<?php
2
/**

3
 * A lightweight example script for demonstrating how to

4
 * work with the Slack API.

5
 */
<?php
0
<?php
1
<?php
2
<?php
3
<?php
4
<?php
5
<?php
6
<?php
7
<?php
8
<?php
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
/**

0
2
7
/**

2
/**

3
/**

/**

5
/**

6
/**

7
/**

8
/**

9
3
0
3
1
 */
3
3
3
4
3
5
3
6
3
7
3
8
3
9
 * A lightweight example script for demonstrating how to

0
/**

 * A lightweight example script for demonstrating how to

2
 * A lightweight example script for demonstrating how to

3
 * A lightweight example script for demonstrating how to

4
 * A lightweight example script for demonstrating how to

5
 * A lightweight example script for demonstrating how to

6
 * A lightweight example script for demonstrating how to

7
 * A lightweight example script for demonstrating how to

8
 * A lightweight example script for demonstrating how to

9
4
0
/**

8
4
2
4
3
4
4
 */
4
6
4
7
4
8
4
9
 * work with the Slack API.

0
 * work with the Slack API.

1
 * work with the Slack API.

2
 * work with the Slack API.

3
 * work with the Slack API.

4
 * work with the Slack API.

5
 * work with the Slack API.

6
 * work with the Slack API.

7
 * work with the Slack API.

8
 * work with the Slack API.

9
5
0
5
1
5
2
3
8
5
4
5
5
2
7
5
7
5
8
5
9
2
7
 */
1
 */
2
 */
3
 */
4
 */
5
 */
6
 */
7
 */
8
 */
9
<?php
00
<?php
01
<?php
02
<?php
03
<?php
04
<?php
05
<?php
06
<?php
07
3
8
<?php
09
<?php
10
2
7
<?php
12
<?php
13
<?php
14
2
7
<?php
16
<?php
17
<?php
18
<?php
19
<?php
20
<?php
21
<?php
22
<?php
23
<?php
24
<?php
25
<?php
26
<?php
27
<?php
28
<?php
29
<?php
30
<?php
31
<?php
32
<?php
33
<?php
34
<?php
35
<?php
36
<?php
37
<?php
38
<?php
39
<?php
40
<?php
41
<?php
34
<?php
43
<?php
44
<?php
45
<?php
36
<?php
47
<?php
48
<?php
49
<?php
50
<?php
51
<?php
52
<?php
53
<?php
54
<?php
55
<?php
56
<?php
36
<?php
58
<?php
59
<?php
60
<?php
61
<?php
62
<?php
63
<?php
64
<?php
65
<?php
66
<?php
67
<?php
68
<?php
69
<?php
70
<?php
71
<?php
72
<?php
73
<?php
74
<?php
75
<?php
76
<?php
77
<?php
78
<?php
79
<?php
80
<?php
81
<?php
82
<?php
83
<?php
84
<?php
85
<?php
86
<?php
87
<?php
88
<?php
76
<?php
90
<?php
91
<?php
92
<?php
93
<?php
94
<?php
95

Mari kita lihat isi script dan apa yang ada saat ini:

  • Baris 7-13, kita pertama memasukan Perpustakaan file dan kemudian memberitahu PHP yang kita akan menggunakan class
    <?php
    
    090 dan
    <?php
    
    091 dari
    <?php
    
    092 namespace. File dan class tidak ada, tetapi kami akan mendapatkannya mereka segera.
  • Selanjutnya, ada dua placeholder untuk helper fungsi. Fungsi helper pertama,
    <?php
    
    093 (baris 19-26), akan mengatur class
    <?php
    
    090 untuk session sekarang.
  • Fungsi helper kedua,
    <?php
    
    095 (baris 28-45) akan digunakan untuk menangani action lain kecuali render halaman — misalnya, post pesan dikirim ke saluran slack Anda, tapi juga menerima masuk slash perintah dari slack.
  • Setelah fungsi pembantu, terdapat fungsi "main" aplikasi kecil kami. Pertama, aplikasi menginisialisasi objek
    <?php
    
    090 (baris 52). Kemudian, pada baris 54-59, memeriksa jika action telah diminta menggunakan
    <?php
    
    097 parameter. Jika ya, aplikasi mengeksekusi action yang menggunakan fungsi helper
    <?php
    
    095 kami.
  • Sisa dari script adalah HTML dasar (dan beberapa CSS, yang saya tulis pada file yang sama untuk menjaga hal-hal sederhana) yang render form yang Anda lihat dalam gambar di atas.

Selanjutnya, menambahkan beberapa konten dalam file cllass yang membuat interface Slack.

Di

<?php
099, tambahkan kode berikut:

1
<?php
2
<?php
99
3
4
/**

5
2
04
<?php
0
2
06
<?php
2
 */
<?php
4
2
10
<?php
6
<?php
8
2
13
2
0
2
1
2
16
2
3
<?php
26
2
5
 * work with the Slack API.

8
2
6
2
8
3
8

Class tidak berisi fungsi apapun namun, konstruktor pengganti dan definisi URL rott untuk API Slack. Baris 2, Anda juga akan melihat bahwa class ditempatkan dalam sebuah namespace,

<?php
092.

Demikian pula, dalam

<?php
101, tambahkan kode berikut:

1
<?php
2
<?php
99
3
4
/**

5
2
32
<?php
0
 */
<?php
2
2
36
<?php
4
<?php
6
2
39
<?php
8
2
0
 * work with the Slack API.

8
2
1
2
3
3
8

Akhirnya, tambahkan isi berikut

<?php
102

1
<?php
2
<?php
99
3
4
2
52
5
<?php
0
/**

<?php
2
2
57
<?php
4
 */
<?php
6
2
61
<?php
8
2
0
3
8

Sekarang, kami telah menciptakan kerangka kerja untuk aplikasi Slack dan siap untuk mulai menambahkan beberapa fungsi.

Tapi pertama, kita perlu membuat aplikasi tersedia di web sehingga Slack dapat berbicara kepadanya.

Langkah 2: Membuat Server Anda tersedia di Internet

Sebelum Anda dapat mendaftar aplikasi Anda dengan Slack dan membuatnya menerima panggilan masuk dari Slack, pertama Anda harus membuatnya dapat diakses dari internet.

Slash perintah juga memerlukan bahwa aplikasi menggunakan HTTPS. Jika Anda tidak peduli tentang perintah dan hanya ingin aplikasi Anda untuk dapat mengirimkan pemberitahuan, Anda dapat melewatkan bagian ini. Untuk tutorial ini, namun, seperti masuk slash perintah adalah bagian besar dari apa yang ingin kita lakukan, kita membutuhkan solusi yang memberikan dukungan pada HTTPS.

Jika server web Anda sudah diatur HTTPS, itulah cara alami untuk pergi.

Pilihan lain, dalam tahap pengembangan, adalah dengan menggunakan layanan tunneling seperti localtunnel. Localtunnel memberikan server URL aman di web yang dapat menunjuk ke server web Anda, yang berjalan pada komputer lokal Anda. Sementara bukan solusi untuk aplikasi live, ketika pengujian fungsionalitas, itu baik menyederhanakan workflow Anda (tidak perlu meng-upload file ke server) dan memberikan dukungan pada HTTPS out of the box.

Untuk memulai, menginstal localtunnel sesuai petunjuk pada tool situs.

Kemudian, mulai server web Anda, mencatat port server listen.

Dan akhirnya, setelah server hidup, mulai localtunnel di terminal menggunakan perintah berikut. Ganti

<?php
103 dengan Anda lebih disukai subdomain dan
<?php
104 dengan port server web Anda:

1
2
66

Jika subdomain yang diminta tersebut tersedia, localtunnel mulai, dan Anda dapat mengakses server Anda melalui URL https://your_subdomain.localtunnel.me.

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Langkah 3: Mendaftar aplikasi Slack baru

Setelah server Anda dapat dicapai dari internet, sekarang saatnya untuk mendaftarkan aplikasi Slack baru.

Untuk menciptakan sebuah aplikasi Slack, sign in ke account slack dan kunjungi halaman New Application. Anda juga dapat menemukan link ke Halaman ini dengan mengklik pada My Apps di sudut kanan atas dasbor API slack Anda saat masuk.

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Halaman New Application terlihat seperti ini:

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Pada Halaman ini, masukkan informasi tentang aplikasi Anda dan kemudian klik Create Application untuk menyimpannya:

  • App Name: Nama untuk mengidentifikasi aplikasi Anda pada daftar aplikasi, tetapi juga dalam pesan Anda mengirim kembali ke slack. Aku pergi dengan "Slack Tutorial".
  • Team: Tim yang aplikasi akan tersedia. Ketika aplikasi Anda sudah siap, Anda bisa mengirimkan ke direktori app. Pada saat itu, tim Slack akan memeriksanya dan, jika semuanya berjalan baik, membuat aplikasi tersedia untuk semua orang.
  • Short Description: Sebuah deskripsi yang akan ditampilkan kepada pengguna ketika mereka menghubungkan aplikasi Anda ke saluran slack mereka. Jika hanya menguji, Anda dapat meninggalkan ini kosong untuk saat ini. Sama berlaku untuk Link to installation instructions and app support info bidang.
  • Icon: Ikon yang akan ditampilkan kepada pengguna ketika mereka menghubungkan aplikasi Anda ke saluran slack mereka serta dalam setiap pesan yang dikirim oleh aplikasi Anda.
  • Redirect URI(s): URL slack yang akan mengarahkan pengguna ke ketika mereka telah menyelesaikan flow otentikasi. Kami akan melihat ini di lebih terinci di langkah 5 dan 6 di bawah, tetapi sekarang, hanya mengatur bidang menunjuk ke
    <?php
    
    105dalam aplikasi Anda, misalnya, https://your_subdomain.localtunnel.me/slack-integration/index.php?action=oauth.

Ketika Slack aplikasi telah dibuat, Anda akan melihat ini tercantum pada halaman My Apps. Di sana, Anda dapat mengedit informasi aplikasi jika diperlukan, dan menyalin kredensialnya API (tercantum di bagian berlabel OAuth informasi) ke integrasi:

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Langkah 4: Simpan kredensial API dalam aplikasi Anda

Selanjutnya, karena Anda akan menyimpan kredensial API untuk aplikasi PHP Anda, sangat baik untuk mengambil waktu untuk berpikir tentang bagaimana melakukannya dengan aman.

Secara umum, itu tidak dianggap sebagai sebuah praktek yang baik untuk melakukan informasi sensitif ke version control. Sebaliknya, Anda mungkin ingin pergi dengan salah satu pilihan berikut:

  • Menyimpan kredensial dalam database Anda dapat menjadi ide yang baik, misalnya, di mana setiap pengguna akan memiliki mereka sendiri set API kredensial dan Anda ingin mereka untuk bisa mengatur kredensial mereka langsung dari Admin Dashboard WordPress plugin.
  • Pilihan lain (sedikit lebih aman daripada yang pertama) adalah untuk mendefinisikan kredensial sebagai konstanta dalam file konfigurasi di server (sekali lagi, jika bekerja dengan WordPress,
    <?php
    
    106 akan menjadi pilihan yang tepat). Pastikan file konfigurasi tidak terexpos keluar (atau tercommit oleh version control).
  • Akhirnya, Anda dapat mengatur klien ID dan secret sebagai lingkungan variabel pada server. Dengan cara ini, informasi yang tidak disimpan dalam sebuah file yang dapat secara tidak sengaja bocor di luar aplikasi.

Dalam pelaksanaanya kami, kami akan pergi dengan kombinasi metode yang dua terakhir. Untuk membuat antarmuka Slack sadar kredensial API, tambahkan dua fungsi baru untuk class

<?php
090:

1
/**

2
2
70
3
 * A lightweight example script for demonstrating how to

5
4
2
74
5
 */
<?php
0
2
78
<?php
2
2
80
<?php
4
2
82
<?php
6
2
84
<?php
8
 * work with the Slack API.

8
2
0
2
1
2
89
2
3
2
91
2
5
2
93
2
6
 * work with the Slack API.

8
2
8
2
97
/**

0
2
99
/**

2
/**

01
/**

3
3
8
/**

5
/**

7
/**

/**

9
/**

08
3
1
 * A lightweight example script for demonstrating how to

5
3
3
/**

12
3
5
 */
3
7
/**

16
3
9
/**

18
 * A lightweight example script for demonstrating how to

0
/**

20
 * A lightweight example script for demonstrating how to

2
/**

22
 * A lightweight example script for demonstrating how to

4
 * work with the Slack API.

8
 * A lightweight example script for demonstrating how to

6
 * A lightweight example script for demonstrating how to

8
2
89
4
0
/**

29
4
2
/**

31
4
4
 * work with the Slack API.

8
4
6
4
8
2
99
 * work with the Slack API.

0
/**

01
 * work with the Slack API.

1
3
8

Dua fungsi adalah salinan hampir persis satu sama lain, jadi mari kita hanya pergi melalui pertama satu,

<?php
108, untuk mendapatkan ide dari apa yang mereka lakukan:

  • Pertama, baris 7-10, fungsi memeriksa untuk melihat jika ID klien yang telah disimpan dalam konstan bernama
    <?php
    
    109. Jika konstan ini didefinisikan, fungsi mengembalikan nilai.
  • Jika konstan belum didefinisikan, fungsi berlanjut dengan memeriksa untuk variabel environment dengan nama yang sama (baris 12-15).
  • Akhirnya, jika ada klien ID ditemukan, fungsi mengembalikan string kosong.

Menggunakan pendekatan ini, tambahkan kredensial akses pada awal

<?php
110, atau bahkan lebih baik, terpisah file PHP yang Anda sertakan di
<?php
110 namun belum tercommut ke version control:

1
/**

42
2
/**

44
3
/**

46
4
/**

48
5
/**

50

Step 5: Membuat struktur Data untuk menyimpan informasi otorisasi

Sekarang bahwa kita telah disimpan kredensial aplikasi, saatnya untuk pindah ke tingkat berikutnya otentikasi: memungkinkan pengguna untuk menambahkan aplikasi ke akun Slack mereka.

Aliran otentikasi terdiri dari tiga langkah:

  1. Jika pengguna belum menambahkan aplikasi untuk Slack, "Add to Slack" tombol ditampilkan dalam aplikasi.
  2. Setelah mengklik tombol, pengguna diminta untuk mengotorisasi aplikasi untuk mengirim pemberitahuan dan menanggapi perintah pada saluran slack.
  3. Bila pengguna mengotorisasi aplikasi, aplikasi Anda akan menerima kode sementara yang menukar seperangkat informasi permanen otentikasi menggunakan API Slack.

Kita akan mulai menerapkan flow segera, tapi pertama-tama, kami akan memerlukan metode untuk menyimpan dan menggunakan informasi otentikasi sekali kami telah menerima dari Slack.

Untuk ini, kita akan menggunakan class

<?php
112, yang kita buat sebelumnya dalam tutorial.

Di bagian atas class, pertama mendefinisikan variabel untuk memegang data otorisasi:

1
/**

52
2
3
/**

55
4
/**

57
5
/**

59
<?php
0
/**

61
<?php
2
/**

63

Kemudian, menerapkan constructor untuk membaca nilai untuk variabel ini dari sebuah array yang dimasukan sebagai parameter:

1
/**

2
/**

67
3
/**

8
4
/**

71
5
/**

73
<?php
0
 */
<?php
2
/**

77
<?php
4
/**

79
<?php
6
/**

81
<?php
8
/**

83
2
0
/**

85
2
1
/**

87
2
3
3
8

Konstruktor menginisialisasi variabel untuk nilai-nilai yang dimasukan dalam

<?php
113 array, atau nilai-nilai kosong jika sepotong informasi tidak hadir dalam array atribut.

Tepat setelah konstruktor, tambahkan fungsi untuk memeriksa jika objek telah diinisialisasi dengan data yang valid:

1
/**

2
/**

93
3
/**

8
4
/**

97
5
 */
<?php
0
3
01
<?php
2
3
03
<?php
4
3
8

Kemudian, untuk menyimpan data otentikasi, tambahkan fungsi berikut:

1
/**

2
3
09
3
/**

8
4
3
13
5
 */
<?php
0
3
17
<?php
2
3
19
<?php
4
3
21
<?php
6
3
23
<?php
8
3
25
2
0
3
27
2
1
3
29
2
3
3
31
2
5
2
6
3
34
2
8
3
8

Fungsi mengembalikan sebuah string JSON-diformat yang berisi data otorisasi.

Dalam aplikasi yang sebenarnya, Anda kemungkinan besar akan ingin mengikat informasi otorisasi untuk account pengguna dan menyimpan data JSON informasi pengguna. Namun, dalam aplikasi contoh kita — sekali lagi-kita akan pergi dengan pendekatan sederhana: kita asumsikan bahwa pengguna hanya satu (Anda) akan pernah menggunakan aplikasi, dan jadi kita hanya perlu untuk menyimpan satu set kredensial OAuth.

Tapi pertama-tama, mari kita pindah ke class

<?php
090 dan membuatnya menggunakan fungsi kami hanya menambahkan ke
<?php
112.

Menerapkan constructor untuk mengatur objek akses untuk

<?php
090 instance saat ini:

1
/**

2
3
40
3
 */
4
3
44
5
<?php
0
/**

<?php
2
3
49
<?php
4
/**

8
<?php
6
3
53
<?php
8
3
55
2
0
3
57
2
1
 */
2
3
3
61
2
5
3
63
2
6
3
65
2
8
 * work with the Slack API.

8
/**

0
3
8

Tepat setelah konstruktor, tambahkan fungsi untuk memeriksa jika data otorisasi dalam objek

<?php
090 telah ditetapkan:

1
/**

2
3
73
3
/**

8
4
3
77
5
 */
<?php
0
3
81
<?php
2
3
83
<?php
4
3
8

Langkah 6: Tampilkan tombol Add to Slack

Dengan struktur data di tempat, kita dapat mulai menggunakan otorisasi cek dalam aplikasi utama kami dan menunjukkan tombol "Add to Slack".

Perhatikan bahwa sementara class

<?php
112 itu sendiri dapat digunakan di sebagian besar aplikasi cukup banyak seperti, solusi yang digunakan dalam
<?php
110 adalah untuk tujuan demonstrasi saja: sebagai kita tidak memiliki manajemen pengguna atau database, kami hanya akan menyimpan akses JSON-formatted. akses kredensial dari
<?php
120 dalam sebuah file teks.

Pada titik ini, file tidak ada lagi, yang berarti bahwa aplikasi belum belum ditambahkan ke akun kendur, dan tombol "Tambahkan ke kendur" harus ditampilkan bukan bidang teks.

Untuk menerapkan sistem penyimpanan sederhana, mulai dengan mengganti

<?php
110's fungsi
<?php
093 dengan berikut:

1
/**

2
3
89
3
3
91
4
3
93
5
/**

8
<?php
0
3
0
<?php
2
 */
<?php
4
3
4
<?php
6
 * A lightweight example script for demonstrating how to

03
<?php
8
 * A lightweight example script for demonstrating how to

05
2
0
 * A lightweight example script for demonstrating how to

07
2
1
 * A lightweight example script for demonstrating how to

09
2
3
 * A lightweight example script for demonstrating how to

11
2
5
 * work with the Slack API.

8
2
6
2
8
 * A lightweight example script for demonstrating how to

16
/**

0
 * A lightweight example script for demonstrating how to

18
/**

2
/**

3
 * A lightweight example script for demonstrating how to

21
/**

5
<?php
63
/**

7
 * A lightweight example script for demonstrating how to

25
/**

9
3
8

Pada baris 9-14, fungsi membaca data otorisasi sebagai string dari file teks disebut

<?php
123 jika filenya ada. Jika file tidak ada, JSON string diinisialisasi ke hash kosong.

Kemudian, pada baris 17, data parsing ke dalam array untuk dimasukan ke Slack interface (baris 19).

Sekarang, kita sudah siap untuk meletakkannya bersama-sama dan membuat aplikasi kita sedikit Tampilkan tombol "Add to Slack" jika tidak ada data otorisasi ditemukan.

Pada akhir

<?php
110, ganti form dengan cuplikan kode berikut:

1
 * A lightweight example script for demonstrating how to

29
2
 * A lightweight example script for demonstrating how to

31
3
 * A lightweight example script for demonstrating how to

33
4
 * A lightweight example script for demonstrating how to

35
5
 * A lightweight example script for demonstrating how to

37
<?php
0
 * A lightweight example script for demonstrating how to

39
<?php
2
 * A lightweight example script for demonstrating how to

41
<?php
4
 * A lightweight example script for demonstrating how to

43
<?php
6
 * A lightweight example script for demonstrating how to

45
<?php
8
 * A lightweight example script for demonstrating how to

47
2
0
 * A lightweight example script for demonstrating how to

49
2
1
 * A lightweight example script for demonstrating how to

51

Dalam potongan kode, baris 1, Anda akan melihat bahwa form sekarang dikelilingi dengan pemeriksaan

<?php
125 sehingga pengguna tidak dapat melihatnya sebelum mengotorisasi aplikasi.

Kemudian, cabang

<?php
126, baris 8-12, kode sekarang render tombol "Add to slack".

Mari kita ambil Lihatlah apa yang ada di dalamnya

<?php
127 tag:

  • Pertama-tama tombol poin pengguna menjadi Slack di OAuth otorisasi flow (
    <?php
    
    128).
  • Menggunakan parameter
    <?php
    
    129, aplikasi dapat menentukan izin yang perlu pengguna untuk dibolehkan: dalam kasus kami, kita perlu webhooks yang masuk (
    <?php
    
    130) untuk post pemberitahuan dan kemampuan untuk menambahkan slash baru perintah (
    <?php
    
    131). Untuk daftar lengkap tersedia izin, Periksa dokumentasi API.
  • Akhirnya, link harus memiliki public key aplikasi (
    <?php
    
    132), yang kita disimpan ke aplikasi kita sebelumnya dalam tutorial.

Sisanya adalah hanya basic HTML untuk menampilkan tombol gambar.

Sekarang, ketika Anda membuka aplikasi di browser web Anda, di sini adalah apa yang harus Anda lihat:

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Langkah 7: Menyelesaikan otentikasi OAuth

Sekarang, tombol "Add to Slack" ada di tempat. Tapi apa yang terjadi ketika pengguna mengklik di atasnya?

Pertama, pengguna akan melihat halaman otentikasi slack di app, yang terlihat seperti ini:

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Kemudian, jika semua terlihat baik untuk pengguna, ia akan klik pada tombol Authorize, pada titik mana eksekusi kembali ke aplikasi Anda.

Anda akan ingat bahwa ketika kita didefinisikan aplikasi dalam Slack, kita tetapkan URL callback (

<?php
133).

Untuk menangani callback ini, kita akan menggunakan sistem action yang kita buat sebelumnya dalam tutorial. Dalam aplikasi yang sebenarnya, Anda harus menerapkan URL callback dengan cara yang bekerja dengan baik untuk platform yang Anda gunakan. Sebagai contoh, di WordPress, Anda bisa sangat baik membuat permalink kustom menggunakan rewrite engine.

Namun, sementara menerima callback akan berbeda berdasarkan aplikasi, apa yang kami lakukan dengan data yang diterima dari slack yang sama.

Menggantikan fungsi

<?php
095 kosong dengan berikut:

1
/**

2
 * A lightweight example script for demonstrating how to

3
3
/**

8
4
 * A lightweight example script for demonstrating how to

7
5
 * A lightweight example script for demonstrating how to

9
<?php
0
/**

8
<?php
2
4
3
<?php
4
 */
<?php
6
4
7
<?php
8
4
9
2
0
2
1
 * work with the Slack API.

2
2
3
2
5
 * A lightweight example script for demonstrating how to

77
2
6
 * A lightweight example script for demonstrating how to

79
2
8
 * A lightweight example script for demonstrating how to

81
/**

0
 * A lightweight example script for demonstrating how to

83
/**

2
/**

3
 * A lightweight example script for demonstrating how to

86
/**

5
 * A lightweight example script for demonstrating how to

88
/**

7
 * A lightweight example script for demonstrating how to

90
/**

9
 * A lightweight example script for demonstrating how to

92
3
1
 * A lightweight example script for demonstrating how to

94
3
3
 * A lightweight example script for demonstrating how to

96
3
5
 * A lightweight example script for demonstrating how to

98
3
7
4
00
3
9
4
02
 * A lightweight example script for demonstrating how to

0
<?php
36
 * A lightweight example script for demonstrating how to

2
 * work with the Slack API.

6
 * A lightweight example script for demonstrating how to

4
 * A lightweight example script for demonstrating how to

6
 * work with the Slack API.

4
 * A lightweight example script for demonstrating how to

8
 * work with the Slack API.

6
4
0
4
2
 * work with the Slack API.

8
4
4
4
6
5
1
4
8
3
8

Ketika pengguna kembali dari flow otorisasi, fungsi ini dipanggil dengan

<?php
135 diatur ke '
<?php
136'. Dengan permintaan, aplikasi menerima one-time token, yang dibaca dibaris 17.

Kemudian, pada baris 21, untuk menyelesaikan otorisasi, fungsi panggilan fungsi dalam class

<?php
090,
<?php
138.

Seperti Anda akan ingat dari sebelumnya, inisialisasi antarmuka S;acl, kami mencoba untuk memuat data otentikasi dari file teks,

<?php
139 Ketika file tidak ditemukan, aplikasi memutuskan bahwa pengguna belum dikonfirmasi aplikasi dan menunjukkan tombol "Add to Slack".

Sekarang, setelah otentikasi OAuth terlaksana, baris 23, fungsi menyimpan data ke file itu.

Tapi sebelum kita sampai di sana, untuk menyelesaikan flow otentikasi, kita masih perlu untuk menerapkan

<?php
138 fungsi dalam class
<?php
090.

Fungsi ini akan memanggil API Slack untuk bertukar kode yang dimasukan ke fungsi callback OAuth dengan otentikasi data yang dapat disimpan secara permanen dan digunakan untuk berkomunikasi dengan Slack sampai pengguna mencabut otorisasi.

Untuk melakukan ini, kita akan perlu cara untuk membuat permintaan HTTP ke server slack. Ada banyak cara untuk membuat permintaan HTTP dalam PHP, dan apa yang disajikan di sini bukanlah satu-satunya cara. Misalnya, jika Anda mengembangkan untuk WordPress, Anda mungkin ingin pergi dengan

<?php
142 dan
<?php
143.

Saat ini, namun, untuk menjaga semuanya independen dari setiap developemnt framework aplikasi tertentu, saya memutuskan untuk pergi dengan perpustakaan gratis dengan sintaks yang indah dan bersih, Requests.

Instal perpustakaan sesuai petunjuk pada situs web. Dalam kode sumber dalam repositori Tuts + GitHub, Anda akan menemukan konfigurasi komposer siap pakai untuk termasuk perpustakaan untuk aplikasi kita.

Setelah Anda menginstal Requests (atau pilihan Perpustakaan HTTP), tambahkan fungsi

<?php
138 ke class
<?php
090:

1
/**

2
4
23
3
4
25
4
/**

8
5
4
29
<?php
0
/**

8
<?php
2
4
33
<?php
4
4
35
<?php
6
4
37
<?php
8
/**

8
2
0
4
41
2
1
 */
2
3
4
45
2
5
4
47
2
6
4
49
2
8
4
51
/**

0
4
53
/**

2
4
55
/**

3
/**

5
4
58
/**

7
4
60
/**

9
3
1
4
63
3
3
4
51
3
5
4
67
3
7
4
69
3
9
 * A lightweight example script for demonstrating how to

0
4
72
 * A lightweight example script for demonstrating how to

2
4
74
 * A lightweight example script for demonstrating how to

4
4
76
 * A lightweight example script for demonstrating how to

6
 * work with the Slack API.

8
 * A lightweight example script for demonstrating how to

8
4
0
4
81
4
2
4
83
4
4
4
85
4
6
4
87
4
8
4
89
 * work with the Slack API.

0
4
91
 * work with the Slack API.

1
4
93
 * work with the Slack API.

3
4
95
 * work with the Slack API.

5
4
97
 * work with the Slack API.

7
3
31
 * work with the Slack API.

9
5
0
 * work with the Slack API.

02
5
2
3
8

Mari kita pergi melalui fungsi baris demi baris:

Pada baris 14-18, fungsi menginisialisasi parameter untuk permintaan HTTP. Patut dicatat adalah bahwa klien ID dan secret dikirimkan sebagai pilihan permintaan menggunakan HTTP's mekanisme otentikasi dasar.

Baris 21, Anda akan melihat bahwa kita mengirimkan satu kali token diterima dalam fungsi callback kembali ke API Slack untuk mengidentifikasi permintaan.

Permintaan

<?php
146 Dikirim pada baris 23. Kemudian, fungsi hasil oleh parsing respon dan pengaturan baik atas dan mengembalikan data otorisasi (baris 33-44) jika semua berjalan baik, atau melempar exception (baris 28-31) jika ada error dengan request.

Sekarang, flow "Add to Slack" siap. Ketika Anda mencobanya, Anda akan melihat berikut:

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Juga, jika Anda melihat ke dalam direktori proyek Anda, Anda harus menemukan sebuah teks file bernama

<?php
123, dengan otentikasi data yang tersimpan di dalamnya.

Sekarang, kita sudah siap untuk bersenang-senang bagian: membuat aplikasi post ke saluran Slack anda.

2. mengirimkan pemberitahuan ke saluran Slack

Post pemberitahuan ke saluran slack adalah cara yang ampuh untuk membuat tim up to date pada event-event yang penting bagi mereka. Toko web mungkin mengirim pemberitahuan dari pembelian baru, perangkat lunak pelacakan bug bisa secara otomatis memberitahukan pengembang, dan daftar goes on.

Dalam contoh kita, seperti yang Anda sudah melihat di UI sebelumnya, kami akan mengirimkan pemberitahuan yang user submit menggunakan bidang teks.

Tetapi fungsi untuk mengirimkan jenis pemberitahuan yang sama, sehingga setelah itu siap, Anda dapat menggunakan kode yang sama untuk mengirim pemberitahuan Anda sendiri, lebih kompleks.

Langkah 1: Membuat fungsi untuk mengirimkan pemberitahuan

Di class

<?php
090, tambahkan fungsi berikut:

1
/**

2
 * work with the Slack API.

08
3
 * work with the Slack API.

10
4
/**

8
5
 * work with the Slack API.

14
<?php
0
 * work with the Slack API.

16
<?php
2
 * work with the Slack API.

18
<?php
4
/**

8
<?php
6
 * work with the Slack API.

22
<?php
8
 */
2
0
 * work with the Slack API.

26
2
1
 * work with the Slack API.

28
2
3
 * work with the Slack API.

30
2
5
 * work with the Slack API.

8
2
6
2
8
 * work with the Slack API.

35
/**

0
4
49
/**

2
/**

3
 * work with the Slack API.

40
/**

5
 * work with the Slack API.

42
/**

7
4
85
/**

9
 * work with the Slack API.

46
3
1
 * work with the Slack API.

48
3
3
 * work with the Slack API.

50
3
5
4
97
3
7
3
31
3
9
 * A lightweight example script for demonstrating how to

0
 * work with the Slack API.

57
 * A lightweight example script for demonstrating how to

2
4
51
 * A lightweight example script for demonstrating how to

4
 * work with the Slack API.

61
 * A lightweight example script for demonstrating how to

6
 * work with the Slack API.

63
 * A lightweight example script for demonstrating how to

8
 * work with the Slack API.

8
4
0
3
8

Post pemberitahuan untuk saluran Slack dilakukan menggunakan webhook, sebuah URL khusus otorisasi yang slack mengekspos ke aplikasi untuk post ke saluran.

Kami tidak membayar banyak perhatian untuk itu sebelumnya dalam flow "Add to Slack", tetapi jika Anda melihat data dalam

<?php
112 lagi, Anda akan melihat bahwa Slack mengembalikan sebuah field yang bernama
<?php
150. Bidang ini adalah sebuah array dengan dua bidang di dalamnya: UR yangL kita harus post pemberitahuan kami ke, dan saluran pengguna yang dipilih untuk aplikasi pesan.

Untuk mengakses data itu, tambahkan dua fungsi

<?php
112 class:

1
/**

2
 * work with the Slack API.

71
3
 * A lightweight example script for demonstrating how to

5
4
 * work with the Slack API.

75
5
 */
<?php
0
 * work with the Slack API.

79
<?php
2
 * work with the Slack API.

81
<?php
4
 * work with the Slack API.

83
<?php
6
 * work with the Slack API.

8
<?php
8
2
0
/**

01
2
1
3
8
2
3
2
5
/**

2
6
 * work with the Slack API.

95
2
8
 * work with the Slack API.

97
/**

0
 * A lightweight example script for demonstrating how to

5
/**

2
5
01
/**

3
 */
/**

5
5
05
/**

7
5
07
/**

9
5
09
3
1
 * work with the Slack API.

8
3
3
3
5
/**

01
3
7
3
8

Sekarang, mari kita kembali ke fungsi send_notification di atas, dan melihat bagaimana fungsi-fungsi ini digunakan untuk mengirim pemberitahuan.

Pada baris 19, Anda akan melihat bahwa permintaan HTTP dikirim ke URL webhook yang masuk disimpan dalam data otorisasi.

Dan kemudian, pada baris 24, saluran memasukan parameter request, teks dan lampiran ingin di post.

Langkah 2: Gunakan pemberitahuan pengiriman fungsi dalam contoh aplikasi

Sekarang bahwa kita telah menerapkan fungsi untuk mengirim pemberitahuan, mari kita lampirkan fungsionalitas untuk antarmuka pengguna kami dan mengujinya.

Menambah fungsi

<?php
095 di
<?php
110 cabang
<?php
154 baru berikut:

1
5
18
2
5
20
3
5
22
4
5
5
25
<?php
0
5
27
<?php
2
5
29
<?php
4
5
31
<?php
6
5
33
<?php
8
 * work with the Slack API.

8
2
0
5
37

Potongan kode ini membaca pesan dari parameter request (baris 3) dan menggunakan fungsi

<?php
155 kami hanya membuat post ke Slack (baris 6).

Karena form diciptakan sudah pada awal dari tutorial, Anda sekarang siap untuk mengirim pesan pertama Anda ke saluran slack Anda. Ketik sesuatu di bidang teks dan tekan Enter untuk submit form.

Kemudian, lihatlah saluran slack Anda untuk lihat pesan Anda:

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Langkah 3: Menggunakan lampiran untuk membuat pemberitahuan Anda lebih informatif

Dalam fungsi

<?php
155, Anda mungkin memperhatikan parameter disebut
<?php
157. Saya tidak menyebutkan belum seperti itu tidak sesuai dengan baik dengan contoh aplikasi. Namun, lampiran adalah cara yang ampuh untuk melewati lebih menarik informasi tentang event-event aplikasi Anda ke saluran slack, dan Anda mungkin ingin menggunakannya dalam aplikasi Anda.

Jadi, mari kita sedikit bereksperimen dengan lampiran dengan memodifikasi

<?php
155 panggilan dari langkah 2 sedikit. Ganti panggilan
<?php
159 dengan potongan kode berikut:

1
5
39
2
5
41
3
5
43
4
5
5
46
<?php
0
5
48
<?php
2
<?php
4
5
51
<?php
6
<?php
8
5
54
2
0
2
1
5
57
2
3
5
59
2
5
5
61
2
6
5
63
2
8
5
65
/**

0
5
67
/**

2
5
59
/**

3
5
71
/**

5
5
73
/**

7
5
65
/**

9
5
67
3
1
5
79
3
3
5
81
3
5
5
83
3
7
5
85
3
9
 * A lightweight example script for demonstrating how to

0
5
88

Lampiran yang ditentukan dalam kode di atas adalah pemberitahuan imajiner tentang penambahan resep roti baru dalam database resep. Itu ada hanya sebagai contoh, jadi pergi ke depan dan memodifikasinya untuk melihat bagaimana perubahan yang Anda buat itu mempengaruhi output pada saluran slack.

  • <?php
    
    160: pesan teks biasa yang diperlukan yang akan ditampilkan jika lampiran tidak akan ditampilkan.
  • <?php
    
    161: judul untuk lampiran, gaya menggunakan font yang lebih besar.
  • <?php
    
    162: URL yang akan dibuka ketika pengguna mengklik pada link. Dalam contoh kita, ini akan menunjukkan resep.
  • <?php
    
    163: teks yang akan ditampilkan dalam lampiran.
  • <?php
    
    164: warna untuk baris di sisi kiri lampiran.
  • <?php
    
    165: Daftar bidang data untuk menunjukkan di lampiran. Dalam contoh, mereka digunakan untuk menampilkan beberapa informasi tentang resep.
  • <?php
    
    166: sebuah URL untuk gambar untuk menunjukkan di lampiran.

Berikut adalah apa yang akan Anda lihat ketika Anda memposting pemberitahuan dengan lampiran yang ditentukan di atas:

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Bermain dengan parameter dan melihat bagaimana mengubah mereka mempengaruhi pesan yang post di channel Slack Anda: memodifikasi atribut, mengirimkan pemberitahuan baru, dan lihatlah apa yang berubah.

Untuk informasi lebih lanjut tentang lampiran, lihat dokumentasi slack.

3. membuat aplikasi Anda menanggapi Slash perintah

Aplikasi Anda sekarang dapat berbicara dengan Slack. Selanjutnya, kita akan membuat komunikasi bekerja juga cara lain: dengan menambahkan slash perintah, kita dapat membuat slack bekerja sebagai sebuah antarmuka untuk aplikasi kita.

Dalam aplikasi real-world, ini memiliki banyak kasus penggunaan. Menandai bug sudah diperbaiki, menandai urutan seperti dikirim, atau meminta sebuah lelucon hanya beberapa yang datang ke pikiran.

Mari kita pergi ke depan dan melaksanakan permintaan lelucon post lelucon setiap kali mengetik

<?php
167 pada saluran Slack.

Langkah 1: Menentukan perintah Slash

Pertama, kunjungi halaman pengaturan aplikasi Slack Anda untuk menentukan perintah slash baru.

Scroll ke bawah ke bagian dengan judul, Slash Commands, dan klik pada Create new Command.

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Pada layar berikutnya, masukkan informasi yang diperlukan untuk menentukan perintah baru, lalu klik Save.

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Berikut adalah deskripsi singkat untuk bidang pada Halaman ini:

  • Command: Slash perintah, termasuk karakter garis miring. Misalnya,
    <?php
    
    168
  • Request URL: URL pada server Anda yang harus disebut saat seseorang mengetik perintah slash ini pada saluran slack. Ini adalah tempat localtunnel datang berguna: URL harus HTTPS dan tersedia untuk menghubungkan dari internet. Menggunakan format URL berikut untuk membuat URL permintaan kompatibel dengan fungsi yang kita bangun dalam langkah 2 di bawah ini: Y
    <?php
    
    169
  • Short Description: Sebuah deskripsi yang ditampilkan dalam autocomplete popup ketika seseorang sedang mengetik perintah.
  • Usage Hint: Jika perintah mengambil parameter, Anda dapat menggambarkan mereka di sini. Teks ini ini juga terlihat pada autocomplete dialog.

Setelah menyimpan perintah, Anda akan menemukan Anda perintah baru yang ditunjukkan di bagian Slash Commands. Anda dapat menggunakan tombol untuk mengedit atau menghapusnya.

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Di bawah daftar perintah, Anda akan menemukan sebuah string label Verification Token.

Anda dapat menggunakan token ini untuk memverifikasi bahwa perintah yang memang datang dari Slack sebelum mengeksekusi mereka. Simpan token dalam aplikasi Anda dengan cara yang sama Anda lakukan untuk klien ID dan secret sebelumnya dalam tutorial, misalnya dengan menambahkan konstan pada awal

<?php
110:

1
5
90

Langkah 2: Buat sebuah sistem untuk melacak Slash perintah dalam aplikasi Anda

Sekarang, kendur akan mengidentifikasi perintah saat seseorang mengetik di jendela chat slack (Anda dapat mencobanya sekarang untuk melihat autocomplete popup).

Ketika pengguna mengirimkan perintah, S;acl akan memanggil server di Request URL yang ditetapkan pada langkah sebelumnya. Sekarang, kita akan perlu menerapkan fungsi untuk membuat aplikasi kita menanggapinya dengan benar.

Seperti Anda dapat menambahkan lebih dari satu garis miring perintah aplikasi slack Anda, baik untuk mendukung sejumlah variabel slash perintah. Itu sebabnya kita akan mulai dengan menciptakan sebuah sistem untuk melacak garis miring perintah dalam aplikasi.

Pertama, di class

<?php
090, menambahkan variabel berikut untuk memegang perintah:

1
/**

2
5
94
3
5
96
4
 */
5
 */
00

Dalam konstruktor class, tambahkan baris untuk menginisialisasi array:

1
 */
02

Kemudian, membuat fungsi untuk menambahkan perintah slash baru ke array:

1
/**

2
 */
06
3
 */
08
4
/**

8
5
 */
12
<?php
0
 */
14
<?php
2
 */
<?php
4
 */
18
<?php
6
 */
20
<?php
8
3
8

Sekarang bahwa Anda memiliki daftar perintah slash, menambahkan fungsi untuk mengeksekusi perintah:

1
/**

2
 */
26
3
 */
28
4
/**

8
5
 */
32
<?php
0
 */
<?php
2
 */
36
<?php
4
 */
38
<?php
6
 */
40
<?php
8
 */
42
2
0
 */
44
2
1
 */
46
2
3
2
5
 */
49
2
6
 */
51
2
8
 */
53
/**

0
/**

2
 */
56
/**

3
 */
58
/**

5
 */
60
/**

7
 */
62
/**

9
 */
64
3
1
 */
66
3
3
 */
68
3
5
 */
70
3
7
 */
72
3
9
 */
74
 * A lightweight example script for demonstrating how to

0
 * A lightweight example script for demonstrating how to

09
 * A lightweight example script for demonstrating how to

2
 */
78
 * A lightweight example script for demonstrating how to

4
 */
80
 * A lightweight example script for demonstrating how to

6
 */
82
 * A lightweight example script for demonstrating how to

8
 * work with the Slack API.

8
4
0
4
2
 */
87
4
4
 */
89
4
6
3
8

Mari kita pergi melalui fungsi untuk melihat apa yang dilakukan:

Pertama, baris 8-12, fungsi mengumpulkan data dari parameter permintaan:

  • <?php
    
    172 ini digunakan untuk memverifikasi bahwa permintaan permintaan perintah slack berlaku.
  • <?php
    
    173 berisi perintah slash yang harus dijalankan.
  • <?php
    
    163 adalah string teks yang diketik setelah perintah. Dapat digunakan untuk dimasukan parameter ke perintah slash Anda.
  • <?php
    
    175 adalah username dari pengguna yang mengirim perintah slash.

Pada baris 15, fungsi melakukan verifikasi dengan membandingkan token yang diteruskan dalam parameter permintaan yang kita disimpan di langkah sebelumnya.

Jika token sah, fungsi terus melaksanakan perintah, jika satu dengan nama perintah yang diberikan telah terdaftar di class

<?php
090. Pelaksanaan perintah yang dilakukan pada baris 20, mana fungsi membuat panggilan ke fungsi callback yang ditentukan untuk perintah.

Kemudian, pada baris 21, respon dikodekan ke dalam sebuah string JSON dan dicetak. Perhatikan bahwa fungsi berakhir dengan panggilan

<?php
177 untuk memastikan tidak ada yang lebih mendapat dicetak setelah respon.

Untuk menyelesaikan fungsionalitas, tambahkan fungsi

<?php
178 untuk mengambil token verifikasi perintah untuk aplikasi:

1
/**

2
 */
95
3
/**

8
4
 */
99
5
 */
<?php
0
<?php
003
<?php
2
<?php
005
<?php
4
<?php
007
<?php
6
<?php
009
<?php
8
 * work with the Slack API.

8
2
0
2
1
2
89
2
3
<?php
016
2
5
<?php
018
2
6
 * work with the Slack API.

8
2
8
/**

0
2
99
/**

2
/**

01
/**

3
3
8

Fungsi perintah slash di class Slack telah selesai, dan semua yang tersisa untuk dilakukan sebelum kita dapat menerapkan perintah pertama kami adalah untuk menghubungkan callback URL untuk kode ini.

Untuk melakukannya, tambahkan cabang

<?php
154 baru dalam fungsi
<?php
095 di
<?php
084

1
<?php
029
2
<?php
031
3
<?php
033
4
<?php
035
5
5
37

Langkah 3: Mendaftar dan menguji perintah Slash

Sekarang bahwa kita telah menciptakan sebuah sistem untuk menangani slash perintah dalam aplikasi kita, mari kita menggunakannya untuk menerapkan fungsi untuk perintah

<?php
168

Pertama, pada akhir

<?php
093 fungsi, tambahkan baris berikut kode untuk mendaftar perintah dan mengirimkan nama fungsi yang akan menangani perintah:

1
<?php
039
2
<?php
041

Kemudian, membuat fungsi:

1
/**

2
<?php
045
3
/**

8
4
<?php
049
5
 */
<?php
0
<?php
053
<?php
2
<?php
055
<?php
4
<?php
057
<?php
6
<?php
059
<?php
8
<?php
061
2
0
<?php
063
2
1
<?php
065
2
3
<?php
067
2
5
3
31
2
6
2
8
<?php
072
/**

0
/**

2
<?php
075
/**

3
<?php
077
/**

5
<?php
079
/**

7
3
31
/**

9
3
8

Karena fungsi ini diciptakan hanya sebagai demo, tidak melakukan banyak: itu secara acak memilih salah satu lelucon (agak buruk) dan kembali dalam format yang diharapkan oleh Slack.

Perhatikan bahwa sementara fungsi perintah ini tidak mengambil parameter apapun, untuk contoh yang lebih kompleks, Anda dapat menambahkan dua parameter:

<?php
184 untuk mengakses data apapun yang pengguna mengetik setelah perintah, dan
<?php
185 untuk mendapatkan nama pengguna yang mengirimkan perintah.

Untuk menguji perintah, pergi ke depan dan ketik

<?php
167 pada saluran Slack.

Cara menggunakan interface pada php
Cara menggunakan interface pada php
Cara menggunakan interface pada php

Kesimpulan dan ide-ide untuk nanti

Anda sekarang telah menyelesaikan tutorial dan tahu bagaimana untuk mengintegrasikan aplikasi PHP Anda dengan Slack. Selama tutorial, Anda juga telah membangun tool untuk mengirim pemberitahuan ke saluran Slack serta menanggapi perintah pengguna mengetik secara langsung di Slack.

Langkah berikutnya adalah untuk meletakkan ide-ide ini bekerja secara nyata.

Pikirkan tentang aplikasi Anda dan mencari tempat di mana berbicara Slack dan mendengarkan perintah yang berasal dari kekosongan bisa membuat pengalaman lebih bermanfaat dan menyenangkan bagi pengguna Anda, dan menerapkan mereka.

Platform dengan cepat berkembang, dan begitu juga dengan API. Mengawasi di mana itu akan, dan membangun sesuatu yang menakjubkan!

Apa itu interface dalam PHP?

Interface bisa dibilang sebagai sebuah kerangka deskripsi tentang apa yang bisa dilakukan oleh sebuah class. Jadi ketika sebuah class implement sebuah interface, maka class tersebut harus mendeklarasikan setiap public function yang ada di interface tersebut.

Bagaimana cara menggunakan interface pada kelas lain?

Bagaimana cara menggunakan interface pada kelas lain adalah....
Harus menggunakan keyword implements..
Mendeklarasikan interface..
Multiple interface..
Harus menghasilkan interface..

Apa itu interface dalam pemrograman?

Interface merupakan suatu mekanisme yang disediakan oleh java yang memungkinkan berbagi konstanta atau menentukan bentuk metode yang dapat digunakan oleh sejumlah kelas bentuk metode yang dapat digunakan oleh sejumlah kelas.

Apa itu class interface?

Class interface merupakan kelas abstrak. Jarang dipakai memang oleh para programmer pemula. Di dalam class interface, hanya boleh berisi konstanta dan method.