PHP SDK
Install and use the MisarBlog PHP SDK
Installation
composer require misar/blog
Quick Start
use Misar\Blog\MisarBlogClient;
$client = new MisarBlogClient(getenv('MISARBLOG_API_KEY'));
$posts = $client->posts()->list('johndoe');
foreach ($posts->data as $post) {
echo $post->title . ' — ' . $post->slug . PHP_EOL;
}
Generate an Embed URL
$url = $client->embed()->url('johndoe', ['theme' => 'dark']);
echo $url;
// Single post
$url = $client->embed()->url('johndoe', ['slug' => 'my-first-post', 'theme' => 'light']);
Available Methods
| Method | Description |
|--------|-------------|
| $client->posts()->list($username, $params) | List posts for a user |
| $client->posts()->get($username, $slug) | Get a single post by slug |
| $client->embed()->url($username, $options) | Generate an embed URL |
| $client->auth()->refreshToken($token) | Refresh a session token |
| $client->webhooks()->list() | List webhook endpoints |
| $client->webhooks()->create($request) | Register a webhook |
| $client->webhooks()->delete($id) | Delete a webhook |
Error Handling
use Misar\Blog\Exceptions\MisarBlogApiException;
use Misar\Blog\Exceptions\MisarBlogNetworkException;
try {
$posts = $client->posts()->list('johndoe');
} catch (MisarBlogApiException $e) {
echo "API error {$e->getStatusCode()}: {$e->getMessage()}";
} catch (MisarBlogNetworkException $e) {
echo "Network error: {$e->getMessage()}";
}