Casting - shahmal1yev/blueskysdk GitHub Wiki

The SDK uses type-safe response objects that automatically cast API responses into convenient PHP objects.

Example: Getting a Profile

Retrieve a profile and access its attributes:

$profile = bskyFacade($client)->getProfile()
    ->actor($client->authenticated()->handle())
    ->send();

// Access profile data
echo $profile->displayName();    // Returns string
echo $profile->followersCount(); // Returns int

/** @var \Carbon\Carbon $createdAt */
$createdAt = $profile->createdAt(); // Returns Carbon instance

Iterating Over Response Objects

Response objects representing collections are iterable:

/** @var \Atproto\Responses\Objects\FollowersObject $response */
$response = bskyFacade()->getFollowers()
    ->actor($profile->handle())
    ->send();

foreach ($response->followers() as $follower) {
    /** @var \Atproto\Responses\Objects\FollowerObject $follower */
    echo sprintf(
        "%s joined on %s\n",
        $follower->handle(),
        $follower->createdAt()->format('Y-m-d')
    );
}