#15 – skapa ett api
16/09 - 2011
Här visar jag hur man skapar ett api till sin applikation. All information blir ett json objekt.
Här är alla koderna som jag använt till apin:
Config.php:
<?php
$dbhost = 'localhost';
$dbname = 'databasnamn';
$dbuser = 'databasanvändare';
$dbpass = 'lösenor';
define("DBHOST", $dbhost, true);
define("DBNAME", $dbname, true);
define("DBUSER", $dbuser, true);
define("DBPASS", $dbpass, true);
function cpdo(){
$dbinfo = 'mysql:host='. DBHOST .';dbname='.DBNAME;
return $db = new PDO($dbinfo, DBUSER, DBPASS);
}
?>
links.php:
<?php
// includera konfig
require_once('config.php');
// ta get variabeln och hämta functions namn
if(isset($_GET['method']) && !empty($_GET['method'])){
if(function_exists($_GET['method'])){
$_GET['method']();
}
}
//hämta länkar
function getLinks(){
//skapa ett pdo objekt
$db = cpdo();
//skapa en array
$links = array();
//sql statemenr
$sql = "SELECT *
FROM links ;";
//förbered
$stmt = $db->prepare($sql);
//kör
if($stmt->execute()){
//så länge som den hämtar
while ( $row = $stmt->fetch()) {
//skapa en array med information
$push = array( 'short' => $row['short'], 'url' => $row['link']);
//släng in den arrayen
$links[] = $push;
}
//stäng
$stmt->closeCursor();
// encode
$links = json_encode($links);
//skriv ut
echo $_GET['jsoncallback'] . '(' . $links . ')';
}else{
$stmt->closeCursor();
}
}
//hämta url
function getLinkUrl(){
//sparar korta i en variabel
$url = $_GET['url'];
//tar bort sho.rt
$url = substr($url, 14);
//skapa pdo
$db = cpdo();
//en array
$links = array();
//sql statement
$sql = "SELECT link
FROM links WHERE short = '$url';";
$stmt = $db->prepare($sql);
if($stmt->execute()){
$row = $stmt->fetch();
$push = array('url' => $row['link']);
$links[] = $push;
$stmt->closeCursor();
$links = json_encode($links);
echo $_GET['jsoncallback'] . '(' . $links . ')';
}else{
$stmt->closeCursor();
}
}
?>