Hallo,
Ik heb gisteravond snel eventjes een PHP class in elkaar gefrutseld en deze wil ik graag met jullie delen.
Groeten,
Jan Erik
VOORBEELD:
CLASS:
Ik heb gisteravond snel eventjes een PHP class in elkaar gefrutseld en deze wil ik graag met jullie delen.
Groeten,
Jan Erik
VOORBEELD:
[COLOR= #0000BB]<?php
$api[/COLOR] [COLOR= #007700]= new[/COLOR] One2xs_API[COLOR= #007700]([/COLOR][COLOR= #DD0000]jenner[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]KEY[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/print_r"]print_r[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$api[/COLOR][COLOR= #007700]->[/COLOR]call[COLOR= #007700]([/COLOR][COLOR= #DD0000]user[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]countmessages[/COLOR][COLOR= #007700]));[/COLOR] [COLOR= #FF8000]//Haalt de userinfo op en het aantal ongelezen prive berichten.[/COLOR]
[URL="http://www.php.net/print_r"]print_r[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$api[/COLOR][COLOR= #007700]->[/COLOR]callUser[COLOR= #007700]());[/COLOR] [COLOR= #FF8000]//Haalt de userinfo op.[/COLOR]
?> CLASS:
Spoiler tonen
[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #FF8000]/**
* A One2xs class to simply create calls for the one2xs API.
*
* @package One2xs
* @version 1.0.0
* @author Jan Erik van Woerden <info@janerik.eu>
* @link http://ijanerik.nl/
*/[/COLOR]
[URL="http://www.php.net/class"]class[/URL] One2xs_API
[COLOR= #007700]{[/COLOR]
[COLOR= #FF8000]/**
* Default API URL
*/[/COLOR]
const API_URL [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]http://www.one2xs.com/api/leden/handle?[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #FF8000]/**
* Saved username
* @var string
*/[/COLOR]
[URL="http://www.php.net/protected"]protected[/URL] [COLOR= #0000BB]$user[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #FF8000]/**
* Saved API key from the user
* @var string
*/[/COLOR]
[URL="http://www.php.net/protected"]protected[/URL] [COLOR= #0000BB]$key[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #FF8000]/**
* Shorter names of API methods
* @var array
*/[/COLOR]
[URL="http://www.php.net/protected"]protected[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #0000BB]$shorter[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR]
[COLOR= #DD0000]countmessages[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]nwpriveberichtenaantal[/COLOR][COLOR= #007700],[/COLOR]
[COLOR= #DD0000]newmessages[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]nwpriveberichtenuitgebreid[/COLOR][COLOR= #007700],[/COLOR]
[COLOR= #DD0000]user[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]userinfo[/COLOR][COLOR= #007700],[/COLOR]
[COLOR= #DD0000]transactions[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]transacties[/COLOR]
[COLOR= #007700]);[/COLOR]
[COLOR= #FF8000]/**
* Construct the class
* @param string $user
* @param string $key
*/[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] __construct[COLOR= #007700]([/COLOR][COLOR= #0000BB]$user[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$key[/COLOR][COLOR= #007700])
{[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700](![/COLOR][URL="http://www.php.net/is_string"]is_string[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$user[/COLOR][COLOR= #007700]))[/COLOR]
throw [COLOR= #007700]new[/COLOR] Exception[COLOR= #007700]([/COLOR][COLOR= #DD0000]User is not a correct string.[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700](![/COLOR][URL="http://www.php.net/is_string"]is_string[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$key[/COLOR][COLOR= #007700]))[/COLOR]
throw [COLOR= #007700]new[/COLOR] Exception[COLOR= #007700]([/COLOR][COLOR= #DD0000]Key is not a correct string.[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]user [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$user[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR][URL="http://www.php.net/key"]key[/URL] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$key[/COLOR][COLOR= #007700];
}[/COLOR]
[COLOR= #FF8000]/**
* Call cURL and place the good arguments
* @param array|string $methods
* @return stdObject
*/[/COLOR]
[URL="http://www.php.net/protected"]protected[/URL] [COLOR= #007700]function[/COLOR] callCurl[COLOR= #007700]([/COLOR][COLOR= #0000BB]$methods[/COLOR][COLOR= #007700])
{[/COLOR]
[COLOR= #0000BB]$data[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR]
[COLOR= #DD0000]user[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]user[COLOR= #007700],[/COLOR]
[COLOR= #DD0000]key[/COLOR] [COLOR= #007700]=>[/COLOR] [URL="http://www.php.net/sha1"]sha1[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR][URL="http://www.php.net/key"]key[/URL][COLOR= #007700]),[/COLOR]
[COLOR= #DD0000]json[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000][/COLOR]
[COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700](![/COLOR][URL="http://www.php.net/is_array"]is_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$methods[/COLOR][COLOR= #007700]))[/COLOR]
[COLOR= #0000BB]$methods[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$methods[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$methods[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$method[/COLOR][COLOR= #007700])
{[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR]self[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR][COLOR= #0000BB]$shorter[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$method[/COLOR][COLOR= #007700]]))[/COLOR]
[COLOR= #0000BB]$methods[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]] =[/COLOR] self[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR][COLOR= #0000BB]$shorter[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$method[/COLOR][COLOR= #007700]];
}[/COLOR]
[COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]info[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/implode"]implode[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000],[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$methods[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$url[/COLOR] [COLOR= #007700]=[/COLOR] self[COLOR= #007700]::[/COLOR]API_URL[COLOR= #007700].[/COLOR]http_build_query[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$curl[/COLOR] [COLOR= #007700]=[/COLOR] curl_init[COLOR= #007700]([/COLOR][COLOR= #0000BB]$url[/COLOR][COLOR= #007700]);[/COLOR]
curl_setopt[COLOR= #007700]([/COLOR][COLOR= #0000BB]$curl[/COLOR][COLOR= #007700],[/COLOR] CURLOPT_RETURNTRANSFER[COLOR= #007700],[/COLOR] true[COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$content[/COLOR] [COLOR= #007700]=[/COLOR] curl_exec[COLOR= #007700]([/COLOR][COLOR= #0000BB]$curl[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$content[/COLOR] [COLOR= #007700]=[/COLOR] json_decode[COLOR= #007700]([/COLOR][COLOR= #0000BB]$content[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$content[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$info[/COLOR][COLOR= #007700])
{[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/in_array"]in_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700],[/COLOR] self[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR][COLOR= #0000BB]$shorter[/COLOR][COLOR= #007700]))
{[/COLOR]
[URL="http://www.php.net/unset"]unset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$content[/COLOR][COLOR= #007700]->[/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array_search"]array_search[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700],[/COLOR] self[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR][COLOR= #0000BB]$shorter[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$content[/COLOR][COLOR= #007700]->[/COLOR][COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$info[/COLOR][COLOR= #007700];
}
}[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR]curl_getinfo[COLOR= #007700]([/COLOR][COLOR= #0000BB]$curl[/COLOR][COLOR= #007700],[/COLOR] CURLINFO_HTTP_CODE[COLOR= #007700]) !=[/COLOR] [COLOR= #0000BB]200[/COLOR][COLOR= #007700])[/COLOR]
throw [COLOR= #007700]new[/COLOR] Exception[COLOR= #007700]([/COLOR][COLOR= #DD0000]Website not found![/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$content[/COLOR][COLOR= #007700];
}[/COLOR]
[COLOR= #FF8000]/**
* Call the callCurl method and every argument is a new API method
* @return stdObject
*/[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] call[COLOR= #007700]()
{[/COLOR]
[COLOR= #0000BB]$arguments[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/func_get_args"]func_get_args[/URL][COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]callCurl[COLOR= #007700]([/COLOR][COLOR= #0000BB]$arguments[/COLOR][COLOR= #007700]);
}[/COLOR]
[COLOR= #FF8000]/**
* Shortcut for a single API method
* @param string $method
* @param array $arguments
* @return stdObject
*/[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] __call[COLOR= #007700]([/COLOR][COLOR= #0000BB]$method[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$arguments[/COLOR][COLOR= #007700])
{[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/substr"]substr[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$method[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]4[/COLOR][COLOR= #007700]) ==[/COLOR] [COLOR= #DD0000]call[/COLOR][COLOR= #007700])
{[/COLOR]
[URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]call[COLOR= #007700]([/COLOR][URL="http://www.php.net/substr"]substr[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/strtolower"]strtolower[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$method[/COLOR][COLOR= #007700]),[/COLOR] [COLOR= #0000BB]4[/COLOR][COLOR= #007700]));
}
}
}[/COLOR]
?>
Moeten wel eens wat dingetjes voor de leuk gemaakt worden