Belgelere geç
PHP

Kurulum

Tek bir Composer paketi, PHP 8.2 ve üzeri, curl ve json eklentileriyle.

Kurulum

Güncel sürüm 0.0.1'dir. TypeScript SDK'sının her metodu için aynı adı taşıyan bir metodu vardır ve paketin eşlik denetimi, biri eksik olduğunda ya da farklı bir istek gönderdiğinde derlemeyi başarısız kılar.

composer require openemail/sdk
send_email.php
<?php use OpenEmail\OpenEmail; require __DIR__ . '/vendor/autoload.php'; $client = new OpenEmail(); $email = $client->emails->send([    'from' => 'Acme Billing <[email protected]>',    'to' => '[email protected]',    'subject' => 'Your September invoice',    'html' => '<p>Invoice attached.</p>',]); echo $email['id'], ' ', $email['status'], PHP_EOL;

new OpenEmail() anahtarı OPENEMAIL_API_KEY değişkeninden okur, böylece kodda hiçbir kimlik bilgisi bulunmaz. Yapılandırmanız başka bir yerdeyse apiKey: geçirin. Tek bir istemciye her yerden ulaşmak için onu bir kez OpenEmail::init() ile yapılandırın ve OpenEmail::getClient() ile alın.

Yanıt, kodu çözülmüş JSON'un ilişkisel dizi hâlidir; bu yüzden $email['id'] kimliği okur. Anahtarlar API'deki adlarını korur, metotlar ve adlandırılmış argümanları da öyle; scheduledAt ve idempotencyKey: ifadelerinin burada API başvurusundakiyle aynı biçimde yazılmasının nedeni budur.

send çağrısının dönmesi iletinin gittiği anlamına gelmez. Zamanlanmış ya da iptal edilebilir bir gönderim queued veya scheduled olarak döner ve daha sonra sonuçlanır. Çağrının dönmüş olmasına değil, status değerine bakın.

Nerede çalışır

PHP 8.2 ve üzeri, neredeyse her derlemeyle birlikte gelen curl ve json eklentileriyle; başka bir bağımlılık yok. İstekler istemci başına tek bir cURL tanıtıcısından geçer; bu yüzden API'ye yapılan ikinci istek, ilkinin açtığı bağlantıyı yeniden kullanır ve sıkıştırılmış bir yanıtı cURL sizin yerinize çözer.

PHP-FPM, Apache, komut satırı ve bir kuyruk worker'ı, RoadRunner ya da FrankenPHP gibi uzun süre çalışan worker'lar altında çalışır. PHP-FPM altında her istek sıfırdan başlar; bu yüzden istemciyi istek başına bir kez oluşturun. Uzun süre çalışan bir süreçte, süreç boyunca tek bir istemci tutun. pcntl_fork sonrasında alt süreç, üst sürecin bağlantısını yeniden kullanmak yerine kendi bağlantısını açar.

İstemci, posta gönderebilen ve posta kutusunu okuyabilen bir çalışma alanı API anahtarı taşır; bu yüzden yeri bir sunucu, bir iş ya da kendi makinenizde çalışan bir araçtır. Anahtarı bir ortam değişkeninde ya da framework'ünüzün gizli bilgi deposunda tutun, asla kodda değil.