Last active
December 16, 2015 20:10
-
-
Save skopp/5490660 to your computer and use it in GitHub Desktop.
Simple API creation using PHP scripts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// This is the API, 2 possibility show the user list, and show a specifique user by action. | |
function get_user_by_id($id) | |
{ | |
$user_info = array(); | |
// make a call in db. | |
switch ($id){ | |
case 1: | |
$user_info = array("first_name" => "Marc", "last_name" => "Simon", "age" => 21); // let's say first_name, last_name, age | |
break; | |
case 2: | |
$user_info = array("first_name" => "Frederic", "last_name" => "Zannetie", "age" => 24); | |
break; | |
case 3: | |
$user_info = array("first_name" => "Laure", "last_name" => "Carbonnel", "age" => 45); | |
break; | |
} | |
return $user_info; | |
} | |
function get_user_list() | |
{ | |
$user_list = array(array("id" => 1, "name" => "Simon"), array("id" => 2, "name" => "Zannetie"), array("id" => 3, "name" => "Carbonnel")); // call in db, here I make a list of 3 users. | |
return $user_list; | |
} | |
$possible_url = array("get_user_list", "get_user"); | |
$value = "An error has occurred"; | |
if (isset($_GET["action"]) && in_array($_GET["action"], $possible_url)) | |
{ | |
switch ($_GET["action"]) | |
{ | |
case "get_user_list": | |
$value = get_user_list(); | |
break; | |
case "get_user": | |
if (isset($_GET["id"])) | |
$value = get_user_by_id($_GET["id"]); | |
else | |
$value = "Missing argument"; | |
break; | |
} | |
} | |
exit(json_encode($value)); | |
?> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/*** this is the client ***/ | |
if (isset($_GET["action"]) && isset($_GET["id"]) && $_GET["action"] == "get_user") // if the get parameter action is get_user and if the id is set, call the api to get the user information | |
{ | |
$user_info = file_get_contents('http://localhost:8888/api.php?action=get_user&id=' . $_GET["id"]); | |
$user_info = json_decode($user_info, true); | |
// THAT IS VERY QUICK AND DIRTY !!!!! | |
?> | |
<table> | |
<tr> | |
<td>Name: </td><td> <?php echo $user_info["last_name"] ?></td> | |
</tr> | |
<tr> | |
<td>First Name: </td><td> <?php echo $user_info["first_name"] ?></td> | |
</tr> | |
<tr> | |
<td>Age: </td><td> <?php echo $user_info["age"] ?></td> | |
</tr> | |
</table> | |
<a href="http://localhost:8888/client.php?action=get_userlist" alt="user list">Return to the user list</a> | |
<?php | |
} | |
else // else take the user list | |
{ | |
$user_list = file_get_contents('http://localhost:8888/api.php?action=get_user_list'); | |
$user_list = json_decode($user_list, true); | |
// THAT IS VERY QUICK AND DIRTY !!!!! | |
?> | |
<ul> | |
<?php foreach ($user_list as $user): ?> | |
<li> | |
<a href=<?php echo "http://localhost:8888/client.php?action=get_user&id=" . $user["id"] ?> alt=<?php echo "user_" . $user_["id"] ?>><?php echo $user["name"] ?></a> | |
</li> | |
<?php endforeach; ?> | |
</ul> | |
<?php | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
require_once __DIR__.'/../vendor/autoload.php'; | |
$app = new Silex\Application(); | |
$app->get('/hello/{name}', function($name) use($app) { | |
return 'Hello '.$app->escape($name); | |
}); | |
$app->run(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$app = new \Slim\Slim(); | |
$app->get('/hello/:name', function ($name) { | |
echo "Hello, $name"; | |
}); | |
$app->run(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment