Download the PHP package ankapix/logo-objects-php without Composer
On this page you can find all versions of the php package ankapix/logo-objects-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ankapix/logo-objects-php
More information about ankapix/logo-objects-php
Files in ankapix/logo-objects-php
Package logo-objects-php
Short Description Logo Objects REST Service (Tiger / GO / Wings) icin tipli, bagimsiz PHP istemci kutuphanesi - 156 nesnenin tamami icin CRUD ve ozel islemler.
License MIT
Homepage https://gitlab.com/Ankapix/logo-object-php
Informations about the package logo-objects-php
logo-objects-php
Logo Objects REST Service (Tiger / GO / Wings) için tipli, bağımlılıksız bir PHP istemci kütüphanesi. Logo'nun REST servisindeki 156 nesnenin tamamı için endpoint başına ayrı, tip güvenli bir client ile CRUD ve nesneye özel tüm işlemleri sağlar.
- Sadece
ext-curlveext-jsongerektirir; başka bağımlılık yoktur. - PHP 7.4 – 8.3 uyumludur.
- OAuth2 (password grant) token alımı ve
401'de otomatik yenileme dahildir. - Her endpoint için ayrı
...Clientsınıfı:$logo->salesOrders->getAll(),$logo->ArpSlips->create(). - Her nesnenin alanları tipli PHP sınıfları olarak modellenmiştir; yanıtlar otomatik olarak bu sınıflara doldurulur (hydrate edilir).
Kurulum
GitLab deposundan kurmak için projenizin composer.json dosyasına:
Composer kullanmıyorsanız depo kökündeki autoload.php dosyasını dahil edebilirsiniz.
Hızlı Başlangıç
.env kullanıyorsanız LogoClient::fromEnv() ile de oluşturabilirsiniz (bkz. .env.example).
Mimari
Her endpoint client'ı BaseApiClient'tan türer ve aynı ortak CRUD metotlarını paylaşır:
| İşlem | Metot | HTTP |
|---|---|---|
| Listeleme | ->getAll($options) |
GET /endpoint |
| Tek kayıt | ->getById($id, $options) |
GET /endpoint/{id} |
| Arama (kriter) | ->search($criteria) |
GET /endpoint?q=... |
| Sayım | ->getCount() |
GET /endpoint?count=true |
| Ekleme | ->create($data) |
POST /endpoint |
| Güncelleme (tam) | ->update($id, $data) |
PUT /endpoint/{id} |
| Güncelleme (kısmi) | ->patch($id, $data) |
PATCH /endpoint/{id} |
| Silme | ->delete($id) |
DELETE /endpoint/{id} |
Bunlara ek olarak her endpoint, Logo servisinin sunduğu nesneye özel işlemleri (XML içe/dışa aktarım, kampanya/koşul uygulama, satır işlemleri, seri/lot vb.) ayrı metotlar olarak içerir.
Sorgu seçenekleri
getAll ve getById Logo'nun desteklediği parametreleri alır:
limit, offset, fields (dizi), sort, q, expand, expandLevel, withCount, count.
Tipli yanıtlar (hydrate)
getById/create/update/patch/delete ilgili nesne sınıfını, getAll/search ise
items alanı nesne sınıflarıyla dolu bir ApiResponse döndürür. Diziye ihtiyaç
duyarsanız ->toArray() kullanın:
Kimlik Doğrulama
İstemci ilk istekte otomatik olarak POST {baseUrl}/token çağırır:
- Header:
Authorization: Basic base64("clientId:clientSecret") - Gövde:
grant_type=password&username=...&Firmno=...&password=... - Dönen
access_tokensonraki tüm isteklerdeAuthorization: Bearer ...olarak kullanılır. 401alınırsa token bir kez yenilenir ve istek tekrar denenir.
Hazır bir access token ile çalışmak için yapılandırmaya 'apiKey' => '...' verebilirsiniz.
Hata Yönetimi
Başarısız her istek LogoObjects\Exception\LogoApiError türevi bir istisna fırlatır:
| Sınıf | Ne zaman | Ek bilgi |
|---|---|---|
ValidationError |
400 + doğrulama hataları | getValidationErrors(), getModelState() |
AuthenticationError |
401 / token alınamadı | — |
RateLimitError |
429 | getRetryAfter() |
NetworkError |
cURL/bağlantı hatası | — |
ApiException |
diğer tüm HTTP kodları | — |
Hepsinde getStatusCode() ve getResponse() (ham ya da çözülmüş sunucu yanıtı) bulunur.
Sunucunun gerekçesi doğrudan mesaja işlenir; Logo'nun Message / ModelState
biçimi (ASP.NET) ile eski message / validationErrors biçimi desteklenir:
Mesaja en fazla 10 madde yazılır, fazlası ... ve N tane daha ile kısaltılır;
liste her zaman getValidationErrors() ile eksiksiz alınabilir.
LOGO_DEBUG=1 ortam değişkeni ayarlıysa istek ve ham yanıt gövdeleri STDERR'e
yazılır (stdout kirletilmez).
Örnekler
examples/ klasörü çalıştırılabilir örnekler içerir (Composer olmadan da çalışır).
Gereksinimler
- PHP 7.4 – 8.3
ext-curl,ext-json- Erişilebilir bir Logo Objects REST Service (genelde
:32001/api/v1)
Lisans
MIT. Ayrıntılar için LICENSE dosyasına bakın. © 2026 Yasin Köse / Ankapix.
All versions of logo-objects-php with dependencies
ext-curl Version *
ext-json Version *