Download the PHP package kolaykod/simpledb without Composer
On this page you can find all versions of the php package kolaykod/simpledb. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package simpledb
PDB
PHP için PDO sınıfı
Kurulum ve Kullanım
Örnek Kullanım
Sqlite kullanımı için:
Composer Kullanmadan
Yeni bir dizin oluşturarak src
klasörü altındaki tüm dosyaları içine kopyalayın ve autoload.php
dosyasını require ile sayfaya dahil ederek sınıfı başlatın.
Yapılandırma
Varsayılan yapılandırma ayarları:
Şu anda kullanılabilir durumda olan driver listesi:
- Mysql
- Sqlite (test aşamasında)
Fetch
Get
Sonuç varsayılan olarak Object
formatında döner. Array
olarak ulaşmak isterseniz toArray()
metoduna göz atın.
get()
get('products')
Kullanılabilecek metodlar: get()
, first()
, value()
, pluck()
, find()
Yukarıdaki zincirin sorgu çıktısı şu şekilde olacaktır:
toArray()
Sonuçlara Array
formatında ulaşmak için kullanılır.
toJson()
Sonuçlara Json
formatında ulaşmak için kullanılır.
First
Bir tablodan sadece tek bir satır almanız gerekiyorsa, first()
yöntemini kullanabilirsiniz. Bu yöntem, varsayılan olarak tek bir stdClass nesnesi döndürür.
Value
Bir satırın tamamına ihtiyacınız yoksa, value yöntemini kullanarak bir kayıttan tek bir değer çıkarabilirsiniz.
Pluck
Tek bir sütunun değerlerini içeren bir dizi istiyorsanız pluck()
yöntemini kullanabilirsiniz.
pluck()
metoduna ikinci bir parametre göndererek, elde edilen dizinin anahtarları olarak kullanılmasını istediğiniz sütunu belirtebilirsiniz:
Find
Birincil anahtarla eşleşen kaydı döndürür.
find(15)
find(15, 'products')
Total
Toplam satır sayısına ulaşmak için kullanılır.
total()
total('users')
rowCount()
Etkilenen satır sayısı veya okunan satır sayısına ulaşmak için kullanılır.
lastInsertId()
Insert işlemlerinde kaydedilen son satırın birincil anahtarını döndürür.
Raw Query
Salt sql sorgusu çalıştırmak için kullanılır.
Raw Fecth
Raw Exec
Pager
Parametre olarak sayfa başına listelenecek kayıt sayısı gönderilmelidir. pager()
metodu salt sorgularda çalışmaz.
pager()
fonksiyonu 2 parametre alır. İlk parametre sayfa başına listelenecek kayıt sayısı, İkinci parametre sayfa bilgisinin aktarılacağı $_GET
parametresidir. Örneğin link yapısı ?sayfa=3
şeklinde kurgulanacaksa, örnek kullanım şu şekilde olmalıdır;
pagerLinks()
Linklerin çıktısını almak için kullanılır.
«
‹
1
2
3
4
5
6
...
›
»
pagerData()
Toplam sonuç, sayfa sayısı, limit, ofset ve aktif sayfa gibi bilgilere ulaşmak için kullanılır.
setPagerTemplate()
Link çıktısına ait HTML şablonu düzenlemek için kullanılır.
Cache
Sonuçları önbelleğe almak için kullanılır. Çok sık değişmesi gerekmeyen ve yoğun kullanımda performans sorunu oluşturabilecek sorgular için kullanılabilir.
Disk Cache
comments
tablosundaki verileri mysql'den okur ve diske kaydeder. Sonuçlar 30 saniye boyunca diskten okunur.
fromDisk()
metodu; son sorgu diskten okunuyorsa true
, mysql'den okunuyorsa false
döner.
Redis Cache
comments
tablosundaki verileri mysql'den okur ve redis veritabanına kayder. Sonuçlar 30 saniye boyunca Redis üzerinden okunur.
fromRedis()
metodu; son sorgu Redisten okunuyorsa true
, mysql'den okunuyorsa false
döner.
setRedis()
metodu ile Redis sınıfı dışarıdan dahil edilebilir.
Not: Redis ile önbellekleme işlemi yapabilmek için sunucunuzda Redis yüklü olması gerekir.
Insert
Tabloya yeni bir satır eklemek için kullanılır. insert()
metoduyla tek veya birden fazla kayıt eklenebilir.
Tekli Kayıt
Çoklu Kayıt
Son kaydedilen satırın birincil anahtarına ulaşmak için lastInsertId()
metodunu, toplam etkilenen satır sayısı için rowCount()
metodunu kullanabilirsiniz.
Upsert
Benzersiz anahtarlara eşleşen veri bulunursa var olan kayıt güncellenir, yoksa yeni kayıt eklenir.
- Henüz Sqlite desteği yok.
Insert Ignore
Benzersiz anahtarlara eşleşen veri bulunursa kayıt eklenmez, yoksa yeni kayıt eklenir.
Insert Replace
Benzersiz anahtarlara eşleşen veri bulunursa var olan kayıt silinir ve yeni kayıt eklenir, yoksa yeni kayıt eklenir. Her replace işleminde auto_increment
olarak tanımlanan birincil anahtara (Genellikle ID) ait değer değişir. Değerin korunmasını istiyorsanız upsert()
metodunu kullanmanız önerilir.
Update
Bir veya birden fazla kaydı güncellemek için kullanılır.
- Etkilenen satır sayısı döner.
Touch
active
sütunu 1
ise 0
, 0
ise 1
değerini alır.
touch('active', 'products')
Increment
hit
sütunu 1
veya gönderilen değer kadar artar.
increment('hit')
increment('hit', 5)
Decrement
hit
sütunu 1
veya gönderilen değer kadar azalır.
decrement('hit')
decrement('hit', 5)
Delete
Bir veya birden fazla kaydı silmek için kullanılır.
- Etkilenen satır sayısı döner.
Filter
Gönderilen veriyi tablodaki sütunlarla karşılaştırır ve yanlış/fazla veriyi otomatik olarak temizler. insert()
, insertIgnore()
, insertReplace()
, upsert()
, update()
metodlarıyla birlikte kullanılabilir.
Primary | Not Null | Not Null | Not Null | enum('Male', 'Female') |
---|---|---|---|---|
id | name | password | gender |
users
adında bir tablomuz olduğunu ve yukarıdaki sütunlardan oluştuğunu varsayalım.
-
filter()
metodu users tablosundafullname
sütununu bulamadığı için bu veriyi otomatik temizleyip hatasız bir şekilde kayıt oluşturulmasını sağlar. $_POST
ile gönderilen formlar için örnek bir kullanım şekli.
Validate
Bu metot şu an için yalnızca; gönderilen veriyi filtreler, boş gönderilen alanları varsayılan değerleriyle doldurur, not null ve enum kontrolleri yapar.
gender
sütununda tanımlı enum değerleri arasındaElephant
olmadığı için hata döner ve kayıt eklenmez.
Transaction
Metodlar: inTransaction()
, beginTransaction()
, commit()
, rollBack()
Select
select('id, name')
select(['id', 'name', ...])
Metod kullanılmazsa varsayılan olarak
*
ile tüm sütunlar seçilir.
Select Functions
Metodlar: count()
, sum()
, avg()
, min()
, max()
sum('amount')
sum('amount', 'totalAmount')
Table
table()
ve from()
metodu aynı işlevi görür.
table('products')
table(['products as p', 'images as i'])
Join
Metodlar: leftJoin()
, rightJoin()
, innerJoin()
, leftOuterJoin()
, rightOuterJoin()
, fullOuterJoin()
leftJoin('images', 'products.id', 'images.productId')
leftJoin('images', 'products.id = images.productId')
leftJoin('images ON products.id = images.productId')
Where
Metodlar: where()
, orWhere()
, notWhere()
, orNotWhere()
where('active', 1)
where('stock >= ? AND active = ?', [2, 1])
where(['stock > ?', 'active > ?'], [2, 1])
where(['stock' => 2, 'active' => 1])
where('stock >= 2 AND active = 1 AND MONTH(updated) = MONTH(NOW())')
Group Where
SELECT * FROM products WHERE name LIKE ? AND (brandId IN(?,?,?) OR categoryId IN(?,?,?))
Between
Metodlar: between()
, orBetween()
, notBetween()
, orNotBetween()
Is Null - Not Null
Metodlar: isNull()
, orIsNull()
, notNull()
, orNotNull()
isNull('slug')
isNull(['slug', ...])
In - Not In
Metodlar: in()
, orIn()
, notIn()
, orNotIn()
Find In Set
Metodlar: findInSet()
, orFindInSet()
, notFindInSet()
, orNotFindInSet()
Like - Not Like
Metodlar: like()
, orLike()
, notLike()
, orNotlike()
Order
Varsayılan olarak desc
seçilir.
order('id')
order('id', 'asc')
order('id desc, name asc')
order('rand()')
Group
group('id')
group(['id', 'name'])
Having
having('stock', 5)
having('stock > 5')
having('stock > ?', 5)
Limit - Offset
Limit, Offset ve Sayfalama işlemleri için kullanılır.
History
queryHistory()
Sorgu listesine ulaşmak için kullanılır.
lastQuery()
Son sorguyu görüntülemek için kullanılır.
SELECT id, name FROM products WHERE code = ? AND active = ? ORDER BY id desc
lastParams()
Son sorguyu ait parametreleri görmek için kullanılır.
queryCount()
Toplam sorgu sayısına ulaşmak için kullanılır.
1
Structure
Yapısal sorgular için kullanılır.
Metodlar: truncate()
, drop()
, optimize()
, analyze()
, check()
, checksum()
, repair()
Contributors
- kolaykod kolaykod