Misar IO Docs

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()}";
}