PHP code example of misarai / misardev-php
1. Go to this page and download the library: Download misarai/misardev-php library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
misarai / misardev-php example snippets
use MisarDev\MisarDev;
$dev = new MisarDev(getenv('MISARDEV_API_KEY'));
MisarDev\MisarDev;
$dev = new MisarDev(getenv('MISARDEV_API_KEY'));
$created = $dev->projects->create([
'name' => 'Coffee shop site',
'description' => 'A one-page site for a neighbourhood coffee shop',
]);
echo $created['project']['id'];
$projectId = $dev->projects->create(['name' => 'Landing page'])['project']['id'];
$dev->projects->writeFiles($projectId, [
'files' => [
['path' => 'index.html', 'content' => '<h1>Hello</h1>'],
['path' => 'styles.css', 'content' => 'h1 { color: #22c55e; }'],
],
]);
$files = $dev->projects->listFiles($projectId);
// Check the subdomain first — bdomain($projectId, 'coffee-shop');
$deployment = $dev->projects->deploy($projectId, ['subdomain' => 'coffee-shop']);
$status = $dev->projects->getDeployment($projectId);
$templates = $dev->templates->list(['featured' => true, 'limit' => 10])['templates'];
$created = $dev->templates->use($templates[0]['id'], ['projectName' => 'My portfolio']);
$completion = $dev->chat->completions([
'model' => 'misar-online',
'messages' => [['role' => 'user', 'content' => "What's new in CSS this year?"]],
]);
echo $completion['choices'][0]['message']['content'];
foreach ($dev->chat->completionsStream([
'model' => 'misar-online',
'messages' => [['role' => 'user', 'content' => 'Write a haiku']],
]) as $chunk) {
echo $chunk->data['choices'][0]['delta']['content'] ?? '';
}
$hits = $dev->search->code(['q' => 'useEffect', 'types' => 'files', 'limit' => 20]);
$semantic = $dev->rag->search($projectId, ['query' => 'where do we send email?']);
$plan = $dev->usage->plan();
$usage = $dev->usage->list(['days' => 30]);
$fresh = $dev->account->createKey(['name' => 'CI']);
echo $fresh['key']; // shown once and never again
use MisarDev\PlanLimitError;
try {
$dev->projects->list();
} catch (PlanLimitError $e) {
fwrite(STDERR, ($e->offer['headline'] ?? $e->getMessage()) . "\n");
foreach ($e->offer['plans'] ?? [] as $plan) {
fwrite(STDERR, " {$plan['name']} — {$plan['price']}\n");
}
fwrite(STDERR, 'Upgrade: ' . $e->upgradeUrl() . "\n");
// $e->feature(), $e->currentPlan(), $e->recommendedPlan(), $e->retryAfter
}
foreach ($dev->chat->completionsStream([
'model' => 'misar-online',
'messages' => [['role' => 'user', 'content' => 'Write a haiku']],
]) as $chunk) {
echo $chunk->data['choices'][0]['delta']['content'] ?? '';
}
foreach ($dev->projects->buildStream($projectId) as $event) {
echo $event->event, ' ', json_encode($event->data), "\n";
}
foreach ($dev->paginate(fn (int $offset, int $limit) =>
$dev->templates->list(['offset' => $offset, 'limit' => $limit])) as $template) {
echo $template['name'], "\n";
}
// pageSize and maxItems are optional: $dev->paginate($fetch, 50, 200)
bash
composer