Membuat API sederhana dengan php dan mysql

Sunday, October 8, 20170 comments


Pendahuluan  

Artikel ini akan mencakup bagaimana Anda dapat membuat API yang sangat sederhana untuk salah satu proyek AndaKita akan menggunakan PHP danMySQLdan akan menampilkan data dengan API kami dalam dua formatXMLatau JSON

API berdiri untuk Application Programming InterfaceSecara sederhana, adalah cara untuk semua orang (jika Anda memilih demikian) untuk mengakses datawebsite AndaSebagai contohmari kita mengatakan bahwa Anda memiliki situs web di mana pengguna mengirimkan link yang mereka sukaiAda banyak kontenmeta yang berhubungan dengan pengajuan awaldan Anda ingin semua ini menjadi lebih mudah diaksesIni adalah contoh yang bagus dari tempat di manaAPI dapat melakukan keajaibanAmbil Twitter sebagai contohkeberhasilan mereka dapat disebabkan sebagian besar keberhasilan API nya, memberikanpengembang untuk membuat aplikasi mereka sendiri.

A Info SedikitPertama 
Untuk tujuan inikita akan menggunakan situasi yang saya sebutkan di atasAndamemiliki database dan Anda ingin mereka untuk dapat diakses oleh khalayak yang lebih besar

Kami akan melakukan hal ini dengan menyediakan data ini dalam API kami 
  • ID 
  • Nama  
  • Poster resep  
  • Info Cepat (menit persiapan# dari menit total waktu 
  • Link ke Resep di Website kami

Mari kita mulai!

Ke Kode ... 
Saya sarankan Anda menggunakan struktur URL berikut (atau yang serupa): 

     http://api.example.com/recipes/ 

Setelah Anda memiliki struktur inimembuat file baru di * recipes 
* folder bernama *get.php *Ini adalah file utama yang akan diminta oleh pengembangTambahkan baris berikut ke berkas ini: 


<?php
if(isset($_GET['format']) &amp;amp;amp;amp;&amp;amp;amp;amp; intval($_GET['num'])) {
//Set our variables
$format strtolower($_GET['format']);
$num intval($_GET['num']);
//Connect to the Database
$con = mysql_connect('localhost''root'''or die ('MySQL Error.');
mysql_select_db('api'$conor die('MySQL Error.');
//Run our query
$result = mysql_query('SELECT * FROM recipes ORDER BY `recipe_id` DESC LIMIT ' $num$conor die('MySQL Error.');
//Preapre our output
if($format == 'json') {
$recipes array();
while($recipe = mysql_fetch_array($result, MYSQL_ASSOC)) {
$recipes[] = array('post'=>$recipe);
}
$output = json_encode(array('posts' => $recipes));
elseif($format == 'xml') {
header('Content-type: text/xml');
$output  = "<?xml version=\"1.0\"?>\n";
$output .= "<recipes>\n";
for($i = 0 ; $i < mysql_num_rows($result) ; $i++){
$row = mysql_fetch_assoc($result);
$output .= "<recipe> \n";
$output .= "<recipe_id>" $row['recipe_id'] . "</recipe_id> \n";
$output .= "<recipe_name>" $row['recipe_name'] . "</recipe_name> \n";
$output .= "<recipe_poster>" $row['recipe_poster'] . "</recipe_poster> \n";
$output .= "<recipe_quick_info>" $row['recipe_quick_info'] . "</recipe_quick_info> \n";
$output .= "<recipe_link>" $row['recipe_link'] . "</recipe_link> \n";
$output .= "</recipe> \n";
}
$output .= "</recipes>";
else {
die('Improper response format.');
}
//Output the output.
echo $output;
}
?>

Ini adalah script versi lengkaphanya untuk mendapatkannya di luar sanasekarang mari kita menjelaskannya sedikit:   
  • Pertamakita perlu mendapatkan beberapa data dari penggunaFormat apa yang Anda inginkan? Berapa banyak tanggapan yang Anda inginkan?
  •  Ini didefinisikan dalam format variabel GET dan NUM. Untuk memulaiscript kamikami memeriksa apakah nilai-nilai ini bahkan disediakanjika mereka tidak adascript tidak akan melakukan apa-apaJika mereka berdua disediakankita melanjutkan dengan menghubungkan ke databasemenjalankan query yang relatif sederhana untuk mendapatkan semua barismengambilnya dalam urutan dengan iddanmembatasi respon terhadap berapa banyak yang diminta 
  • Mayoritas script kami diambil oleh proses output. Setelah data dipilih ke dalam variabelkita perlu mendapatkannya untuk penggunaPertama, kita memeriksa apakah pengguna ingin versi JSON atau XML, kamimelayani sampai output yang tepatMari kita pergi sedikit lebihmendalam pada masing-masing gaya keluarannya ...
 Yang satu iniuntungnyasangat sederhanaSemua yang kita lakukan adalahmenempatkan data ke dalam arraykemudian menggunakan  json_encode() fungsi PHP untuk mengkodekan JSONInilah yang saya punya dengan data keluaranJSONke dalam arraykemudian menggunakan fungsi handy _json_encode_ function berguna PHP untuk mengkodekan JSON


{"posts":[{"post":{"recipe_id":"20","recipe_name":"Grilled Flounder","recipe_poster":"Billy Bob","recipe_quick_info":"20 minutes prep, 40 minutes total time","recipe_link":"http:\/\/www.example.com\/"}},{"post":{"recipe_id":"19","recipe_name":"Grilled Flounder","recipe_poster":"Billy Bob","recipe_quick_info":"20 minutes prep, 40 minutes total time","recipe_link":"http:\/\/www.example.com\/"}},{"post":{"recipe_id":"18","recipe_name":"Grilled Flounder","recipe_poster":"Billy Bob","recipe_quick_info":"20 minutes prep, 40 minutes total time","recipe_link":"http:\/\/www.example.com\/"}},{"post":{"recipe_id":"17","recipe_name":"Grilled Flounder","recipe_poster":"Billy Bob","recipe_quick_info":"20 minutes prep, 40 minutes total time","recipe_link":"http:\/\/www.example.com\/"}},{"post":{"recipe_id":"16","recipe_name":"Grilled Flounder","recipe_poster":"Billy Bob","recipe_quick_info":"20 minutes prep, 40 minutes total time","recipe_link":"http:\/\/www.example.com\/"}}]}


XML  
XML ini sedikit lebih rumitmemerlukan penggunaan sangat kuat (and scary) for()functionDi sinikita pada dasarnya mengatakan Selama variabel $i kurang darijumlah baris maka, lanjut menambahkan ini ke variabel $output kamiSetelah Anda selesai melakukannyatambahkan satu ke $i variabelBerikut output saya dapatkan dari ini:
<?xml version="1.0"?>
<recipes>
<recipe>
<recipe_id>20</recipe_id>
<recipe_name>Grilled Flounder</recipe_name>
<recipe_poster>Billy Bob</recipe_poster>
<recipe_quick_info>20 minutes prep, 40 minutes total time</recipe_quick_info>
<recipe_link>http://www.example.com/</recipe_link>
</recipe>
<recipe>
<recipe_id>19</recipe_id>
<recipe_name>Grilled Flounder</recipe_name>
<recipe_poster>Billy Bob</recipe_poster>
<recipe_quick_info>20 minutes prep, 40 minutes total time</recipe_quick_info>
<recipe_link>http://www.example.com/</recipe_link>
</recipe>
<recipe>
<recipe_id>18</recipe_id>
<recipe_name>Grilled Flounder</recipe_name>
<recipe_poster>Billy Bob</recipe_poster>
<recipe_quick_info>20 minutes prep, 40 minutes total time</recipe_quick_info>
<recipe_link>http://www.example.com/</recipe_link>
</recipe>
<recipe>
<recipe_id>17</recipe_id>
<recipe_name>Grilled Flounder</recipe_name>
<recipe_poster>Billy Bob</recipe_poster>
<recipe_quick_info>20 minutes prep, 40 minutes total time</recipe_quick_info>
<recipe_link>http://www.example.com/</recipe_link>
</recipe>
<recipe>
<recipe_id>16</recipe_id>
<recipe_name>Grilled Flounder</recipe_name>
<recipe_poster>Billy Bob</recipe_poster>
<recipe_quick_info>20 minutes prep, 40 minutes total time</recipe_quick_info>
<recipe_link>http://www.example.com/</recipe_link>
</recipe>
</recipes>

Beberapa catatan 
Ada beberapa hal catatan dari artikel ini. Setelah Anda memiliki dasar-dasar ini ,Anda dapat menambahkan sendiri. Suatu hal utama yang saya berikan adalahperlunya sebuah Key API. Jika Anda ingin mengelola data anda, Anda harusmenetapkan kunci alfanumerik minimal 32 karakter, ini akan membiarkan Anda tahu siapa yang mengakses data Anda dan Anda juga dapat menghentikan akses orangdari situs Anda. Bagian penting lainnya ditinggalkan adalah kenyataan bahwa Andaperlu mengelola API ini! Seseorang bisa masuk ke sini, ulangi script ini berulang-ulang dan membawa website Anda ke bawah. Ada banyak alat bantu gratis di luar sana untuk membatasi penggunaan API Anda, dan salah satu yang saya sangat merekomendasikan adalah 3scale. Twitter membatasi API mereka untuk 1000permintaan per hari, sehingga Anda bisa mendapatkan ide dari apa yang Anda inginkan. 
 

kesimpulan 
Sederhana, bukan? Menggunakan API adalah cara yang mengagumkan untuk memperluas basis pengguna Anda serta konten Anda di seluruh web. Saya harap artikel ini telah membantu baik Anda yang belajar sesuatu yang baru ataumembantu untuk menempatkan project yang sedang di   buat
Share this article :

Post a Comment

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Tutorial Web Programming - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger