<?php // demo/classes/demo_APIKey.php 
/** 
 * Demonstrate Classes to Generate / Validate an API Key PHP7+ 
 * 
 * https://www.phpclasses.org/recommend/854-A-random-API-key-generator-to-server-as-access-restriction-to-AP.html 
 */ 
error_reporting(E_ALL); 
 
require_once('class_APIKey.php'); 
require_once('class_APIKeyValidation.php'); 
require_once('class_APIKeyException.php'); 
 
echo '<pre>'; 
 
 
// Show how to use the class with Success to validate the key 
$apikey = '3c98ea3c99806fde3aa810c9f0f56e0d'; // Came from URL or other request data 
try { 
    $name = APIKeyValidation::validate($apikey); 
    echo PHP_EOL . "API Key $apikey belongs to $name"; 
} 
catch(APIKeyException $e) { 
    echo PHP_EOL . $e->getMessage(); 
    echo PHP_EOL . $e->getCode() . " can be used as the HTTP code"; 
    echo PHP_EOL; 
} 
 
 
// Show how to use the class with Failure to validate the key 
$apikey = 'This-Bogus-API-Key'; 
try { 
    $name = APIKeyValidation::validate($apikey); 
    echo PHP_EOL . "API Key $apikey belongs to $name"; 
} 
catch(APIKeyException $e) { 
    echo PHP_EOL . $e->getMessage(); 
    echo PHP_EOL . $e->getCode() . " can be used as the HTTP code"; 
    echo PHP_EOL; 
} 
 
 
// Show how to generate a new API key 
$new = APIKeyValidation::storeKey('New-User'); 
echo PHP_EOL . "Look for '$new' in this list:"; 
echo PHP_EOL; 
readfile( APIKeyValidation::APIKEYFILE );
 
 |