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. Show
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:
Mari kita mulai. 1. Buat aplikasi Anda dan menghubungkannya ke Slackpencarian 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:
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 AndaPertama, 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:
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
0841 <?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
920 21 22 23 24 25 26 27 28 29 /**
027 /**
2/**
3/**
/**
5/**
6/**
7/**
8/**
930 31 */
33 34 35 36 37 38 39 * 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
940 /**
842 43 44 */
46 47 48 49 * 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.
950 51 52 38 54 55 27 57 58 59 27 */
1 */
2 */
3 */
4 */
5 */
6 */
7 */
8 */
9<?php
00<?php
01<?php
02<?php
03<?php
04<?php
05<?php
06<?php
0738 <?php
09<?php
1027 <?php
12<?php
13<?php
1427 <?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
95Mari kita lihat isi script dan apa yang ada saat ini:
Selanjutnya, menambahkan beberapa konten dalam file cllass yang membuat interface Slack. Di <?php
099, tambahkan kode berikut:1 <?php
2 <?php
993 4 /**
5 204 <?php
0206 <?php
2 */
<?php
4210 <?php
6<?php
8213 20 21 216 23 <?php
2625 * work with the Slack API.
826 28 38 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
993 4 /**
5 232 <?php
0 */
<?php
2236 <?php
4<?php
6239 <?php
820 * work with the Slack API.
821 23 38 Akhirnya, tambahkan isi berikut <?php
1021 <?php
2 <?php
993 4 252 5 <?php
0/**
<?php
2257 <?php
4 */
<?php
6261 <?php
820 38 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 InternetSebelum 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 266 Jika subdomain yang diminta tersebut tersedia, localtunnel mulai, dan Anda dapat mengakses server Anda melalui URL https://your_subdomain.localtunnel.me. Langkah 3: Mendaftar aplikasi Slack baruSetelah 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. Halaman New Application terlihat seperti ini: Pada Halaman ini, masukkan informasi tentang aplikasi Anda dan kemudian klik Create Application untuk menyimpannya:
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: Langkah 4: Simpan kredensial API dalam aplikasi AndaSelanjutnya, 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:
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 270 3 * A lightweight example script for demonstrating how to
54 274 5 */
<?php
0278 <?php
2280 <?php
4282 <?php
6284 <?php
8 * work with the Slack API.
820 21 289 23 291 25 293 26 * work with the Slack API.
828 297 /**
0299 /**
2/**
01/**
338 /**
5/**
7/**
/**
9/**
0831 * A lightweight example script for demonstrating how to
533 /**
1235 */
37 /**
1639 /**
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
8289 40 /**
2942 /**
3144 * work with the Slack API.
846 48 299 * work with the Slack API.
0/**
01 * work with the Slack API.
138 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:
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 /**
422 /**
443 /**
464 /**
485 /**
50Step 5: Membuat struktur Data untuk menyimpan informasi otorisasiSekarang 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:
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 /**
522 3 /**
554 /**
575 /**
59<?php
0/**
61<?php
2/**
63Kemudian, menerapkan constructor untuk membaca nilai untuk variabel ini dari sebuah array yang dimasukan sebagai parameter: 1 /**
2 /**
673 /**
84 /**
715 /**
73<?php
0 */
<?php
2/**
77<?php
4/**
79<?php
6/**
81<?php
8/**
8320 /**
8521 /**
8723 38 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 /**
933 /**
84 /**
975 */
<?php
0301 <?php
2303 <?php
438 Kemudian, untuk menyimpan data otentikasi, tambahkan fungsi berikut: 1 /**
2 309 3 /**
84 313 5 */
<?php
0317 <?php
2319 <?php
4321 <?php
6323 <?php
8325 20 327 21 329 23 331 25 26 334 28 38 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 340 3 */
4 344 5 <?php
0/**
<?php
2349 <?php
4/**
8<?php
6353 <?php
8355 20 357 21 */
23 361 25 363 26 365 28 * work with the Slack API.
8/**
038 Tepat setelah konstruktor, tambahkan fungsi untuk memeriksa jika data otorisasi dalam objek <?php
090 telah ditetapkan:1 /**
2 373 3 /**
84 377 5 */
<?php
0381 <?php
2383 <?php
438 Langkah 6: Tampilkan tombol Add to SlackDengan 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 389 3 391 4 393 5 /**
8<?php
030 <?php
2 */
<?php
434 <?php
6 * A lightweight example script for demonstrating how to
03<?php
8 * A lightweight example script for demonstrating how to
0520 * A lightweight example script for demonstrating how to
0721 * A lightweight example script for demonstrating how to
0923 * A lightweight example script for demonstrating how to
1125 * work with the Slack API.
826 28 * 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/**
938 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
292 * A lightweight example script for demonstrating how to
313 * A lightweight example script for demonstrating how to
334 * A lightweight example script for demonstrating how to
355 * 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
4720 * A lightweight example script for demonstrating how to
4921 * A lightweight example script for demonstrating how to
51Dalam 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:
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: Langkah 7: Menyelesaikan otentikasi OAuthSekarang, 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: 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
33 /**
84 * A lightweight example script for demonstrating how to
75 * A lightweight example script for demonstrating how to
9<?php
0/**
8<?php
243 <?php
4 */
<?php
647 <?php
849 20 21 * work with the Slack API.
223 25 * A lightweight example script for demonstrating how to
7726 * A lightweight example script for demonstrating how to
7928 * 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
9231 * A lightweight example script for demonstrating how to
9433 * A lightweight example script for demonstrating how to
9635 * A lightweight example script for demonstrating how to
9837 400 39 402 * 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.
640 42 * work with the Slack API.
844 46 51 48 38 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 423 3 425 4 /**
85 429 <?php
0/**
8<?php
2433 <?php
4435 <?php
6437 <?php
8/**
820 441 21 */
23 445 25 447 26 449 28 451 /**
0453 /**
2455 /**
3/**
5458 /**
7460 /**
931 463 33 451 35 467 37 469 39 * A lightweight example script for demonstrating how to
0472 * A lightweight example script for demonstrating how to
2474 * A lightweight example script for demonstrating how to
4476 * A lightweight example script for demonstrating how to
6 * work with the Slack API.
8 * A lightweight example script for demonstrating how to
840 481 42 483 44 485 46 487 48 489 * work with the Slack API.
0491 * work with the Slack API.
1493 * work with the Slack API.
3495 * work with the Slack API.
5497 * work with the Slack API.
7331 * work with the Slack API.
950 * work with the Slack API.
0252 38 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: 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 SlackPost 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 pemberitahuanDi class <?php
090, tambahkan fungsi berikut:1 /**
2 * work with the Slack API.
083 * work with the Slack API.
104 /**
85 * 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 */
20 * work with the Slack API.
2621 * work with the Slack API.
2823 * work with the Slack API.
3025 * work with the Slack API.
826 28 * work with the Slack API.
35/**
0449 /**
2/**
3 * work with the Slack API.
40/**
5 * work with the Slack API.
42/**
7485 /**
9 * work with the Slack API.
4631 * work with the Slack API.
4833 * work with the Slack API.
5035 497 37 331 39 * A lightweight example script for demonstrating how to
0 * work with the Slack API.
57 * A lightweight example script for demonstrating how to
2451 * 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.
840 38 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.
713 * A lightweight example script for demonstrating how to
54 * work with the Slack API.
755 */
<?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
820 /**
0121 38 23 25 /**
26 * work with the Slack API.
9528 * work with the Slack API.
97/**
0 * A lightweight example script for demonstrating how to
5/**
2501 /**
3 */
/**
5505 /**
7507 /**
9509 31 * work with the Slack API.
833 35 /**
0137 38 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 aplikasiSekarang 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 518 2 520 3 522 4 5 525 <?php
0527 <?php
2529 <?php
4531 <?php
6533 <?php
8 * work with the Slack API.
820 537 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: Langkah 3: Menggunakan lampiran untuk membuat pemberitahuan Anda lebih informatifDalam 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 539 2 541 3 543 4 5 546 <?php
0548 <?php
2<?php
4551 <?php
6<?php
8554 20 21 557 23 559 25 561 26 563 28 565 /**
0567 /**
2559 /**
3571 /**
5573 /**
7565 /**
9567 31 579 33 581 35 583 37 585 39 * A lightweight example script for demonstrating how to
0588 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.
Berikut adalah apa yang akan Anda lihat ketika Anda memposting pemberitahuan dengan lampiran yang ditentukan di atas: 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 perintahAplikasi 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 SlashPertama, 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. Pada layar berikutnya, masukkan informasi yang diperlukan untuk menentukan perintah baru, lalu klik Save. Berikut adalah deskripsi singkat untuk bidang pada Halaman ini:
Setelah menyimpan perintah, Anda akan menemukan Anda perintah baru yang ditunjukkan di bagian Slash Commands. Anda dapat menggunakan tombol untuk mengedit atau menghapusnya. 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 590 Langkah 2: Buat sebuah sistem untuk melacak Slash perintah dalam aplikasi AndaSekarang, 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 594 3 596 4 */
5 */
00Dalam konstruktor class, tambahkan baris untuk menginisialisasi array: 1 */
02Kemudian, membuat fungsi untuk menambahkan perintah slash baru ke array: 1 /**
2 */
063 */
084 /**
85 */
12<?php
0 */
14<?php
2 */
<?php
4 */
18<?php
6 */
20<?php
838 Sekarang bahwa Anda memiliki daftar perintah slash, menambahkan fungsi untuk mengeksekusi perintah: 1 /**
2 */
263 */
284 /**
85 */
32<?php
0 */
<?php
2 */
36<?php
4 */
38<?php
6 */
40<?php
8 */
4220 */
4421 */
4623 25 */
4926 */
5128 */
53/**
0/**
2 */
56/**
3 */
58/**
5 */
60/**
7 */
62/**
9 */
6431 */
6633 */
6835 */
7037 */
7239 */
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.
840 42 */
8744 */
8946 38 Mari kita pergi melalui fungsi untuk melihat apa yang dilakukan: Pertama, baris 8-12, fungsi mengumpulkan data dari parameter permintaan:
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 */
953 /**
84 */
995 */
<?php
0<?php
003<?php
2<?php
005<?php
4<?php
007<?php
6<?php
009<?php
8 * work with the Slack API.
820 21 289 23 <?php
01625 <?php
01826 * work with the Slack API.
828 /**
0299 /**
2/**
01/**
338 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
0841 <?php
0292 <?php
0313 <?php
0334 <?php
0355 537 Langkah 3: Mendaftar dan menguji perintah SlashSekarang bahwa kita telah menciptakan sebuah sistem untuk menangani slash perintah dalam aplikasi kita, mari kita menggunakannya untuk menerapkan fungsi untuk perintah <?php
168Pertama, pada akhir <?php
093 fungsi, tambahkan baris berikut kode untuk mendaftar perintah dan mengirimkan nama fungsi yang akan menangani perintah:1 <?php
0392 <?php
041Kemudian, membuat fungsi: 1 /**
2 <?php
0453 /**
84 <?php
0495 */
<?php
0<?php
053<?php
2<?php
055<?php
4<?php
057<?php
6<?php
059<?php
8<?php
06120 <?php
06321 <?php
06523 <?php
06725 331 26 28 <?php
072/**
0/**
2<?php
075/**
3<?php
077/**
5<?php
079/**
7331 /**
938 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.Kesimpulan dan ide-ide untuk nantiAnda 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.
|