Metotlar

login()

Kayıtlı kullanıcıların bizde muhafaza edilen üyelik bilgileriyle karşılaştırma yapar işlem başarılıysa sistemde kullanıcı oturumunu başlatır.

İki para metre almaktadır. Bunlar;

Name Type Description
identity array Kullanıcının giriş bilgilerini içerir. Dizi olarak gönderilmelidir.
remember bool Beni Hatırla özelliğinin çalışması. Varsayılan parametre false
return Description
instance Glad class'sının örneği dönmektedir.

Örnek

Glad::login(['username' => 'exampleuser', 'password' => '1234'], true);

Yukarıdaki işlemin sonucunu kontrol etmek için;

if(Glad::status() === true) {
    // do something...
}

Not: Giriş esnasında belirttiğiniz kullanıcı adı alanı yada email alanının setup metodunda fields alanına tanımladığınız alanlarla örtüştüğünden emin olunuz. Bunların en az bir tanesini eğer isteseniz tamamını giriş koşulu olarak kullanabilirsiniz.

loginByUserId()

Metodun isminden de anlaşılacağı gibi kullanıcıyı üye numarası (ID) ile giriş yapmasına imkan sağlar. Bazı durumlar da kullanıcıyı üyelik bilgilerini girmesini istemeden sistemde oturum açmasını isteyebiliriz.

Parametreler:

Name Type Description
User id mixed Üyenin kullanıcılar tablosunda ki numarası (User Id)
return Description
instance Glad class'sının örneği dönmektedir.

Örnek

Glad::loginByUserId(1);

ya da;

Glad::loginByUserId('507f191e810c19729de860ea');

Bu işlemin sonucunu şu şekilde kontrol edebiliriz:

if(Glad::status() === true) {
    // do something...
}

ya da;

if(Glad::loginByUserId(1)->status() === true) {
    // do something...
}

andLogin()

Normal de sisteme yeni bir üye eklendiğin de (bunu register metodu ile yaptığınızı varsayıyoruz) kullanıcı sadece kayıt edilir. Sistem de oturumda açılmasını istersek andLogin metodunu kullanmanız gerekiyor.

return Description
instance Glad class'sının örneği dönmektedir.

Kullanım özeti:

Glad::register([])->andLogin();

ya da;

Glad::register([]);

Glad::andLogin();

Not: andLogin metodu her hangi bir parametre almamaktadır.

Örnek

Glad::register([
    'email'     => 'email@example.com',
    'password'  => '1234',
    'firstname' => 'Firstname',
    'lastname'  => 'Lastname'
])->andLogin();

İşlem sonucunu kontrol etmek için:

if(Glad::status() === true) {
    // do something...
}

logout()

Bir kullanıcının sistemdeki oturumunu tamamen kapatır. Bununla birlikte kullanıcı Beni Hatır'la özelliğini kullanıyorsa hemen sonlandırılır. Üyenin tekrar girişi yapması istenir.

return Description
bool true/false

Örnek

Glad::logout();

register()

Kullanıcı kayıt işlemini gerçekleştirir.

Parametreler

Name Type Description
credentials array Kayıt için gerekli bilgiler
return Description
instance Glad class'sının örneği dönmektedir.

Örnek:

Glad::register([
    'email'     => 'email@example.com',
    'password'  => '1234',
    'firstname' => 'Firstname',
    'lastname'  => 'Lastname'
]);

İşlem sonucunu kontrol etmek için:

if(Glad::status() === true) {
    // do something...
}

change()

Sistemdeki kullanıcıların bilgileri buna şifreleride dahil değiştirmek istediğimizde change metodu burada bize bunu sağlamaktadır.

return Description
instance Glad class'sının örneği dönmektedir

Parametreler

Name Type Description
credentials array Yeni kullanıcı bilgileri
Glad::change([
    'email'     => 'email@example.com',
    'password'  => '1234',
    'firstname' => 'Firstname',
    'lastname'  => 'Lastname'
]);

İşlem sonucunu kontrol etmek için:

if(Glad::status() === true) {
    // do something...
}

Not: Yeni bilgilerin daha önce kayıt işleminde alanları belirtilmiş olması gerekiyor.

apply()

Üyelik sistemlerinde detaylı çapraz kontroller olmazsa olmazlardan diyebiliriz. Glad auth burada sizlere apply metoduyla detaylı kontroller ve bu kontoller sonrası davranışları yönetmenizi sağlıyor.

apply metodu parametre olarak Closure methodu almaktadır:

Name Type Description
Closure object Kontrolleri içerir
return Description
instance Glad class'sının örneği dönmektedir

Örnek

Glad::login(['username' => 'exampleuser', 'password' => '1234'], true)
    ->apply(function(Glad $glad) {
        $glad->conditions(['banned' => 0, 'activate' => 1]);

        $glad->event('banned', function() {
                exit('you are banned');
            });

        $glad->event('activate', function() {
                exit('your account has activated');
            });
        });

Yukarıdaki kod bloğunu sırasıyla inceleyelim.

İlk olarak login metodumuzu çalıştırdık ve hemen sonrasında apply metodunu chain yöntemiyle çalıştırdık.

Burada bir Closure metodunu kurguladığımızı görüyoruz. Ve bu metoda Glad class'sının instance'ı injekt ediliyor.

conditions()

Üyelik sistemlerin de kullanıcıların durumlarıyla ilgili bir takım sınıflandırmalar yapılmaktadır. Mesela üyeliğini henüz aktifleştirmemiş olan kullanıcılar için burada bir filtre uygulayabilirsiniz.

$glad->conditions(['banned' => 0, 'activate' => 1]);

Örnekte banned ve activate alanlarının kontrol edildiğini görüyoruz.

Not: Bu alanların üye tablonuzda bulunması gerekiyor.

event()

apply metodu içinde conditions metodunun sonucuna göre işlem akışlarına yön vermemize imkan sağlıyor.

$glad->conditions(['banned' => 0, 'activate' => 0]);

Kullanıcı başarılı bir giriş yaptığında ikinci aşama hesabının durumuyla ilgili kontrol yapıyoruz.

Eğer hesabında banned alanı 0 ise şu event çalışacaktır:

$glad->event('banned', function() {
    exit('you are banned');
});

Eğer hesabında activate alanı 0 ise şu event çalışacaktır:

$glad->event('activate', function() {
    exit('you account has not activated');
});

status()

Gerek üye girişi gerekse yeni bir üyelik kaydında işlemlerin sonucunu kontrol etmek için kullanabileceğimiz metodtur.

Örnek

Glad::login(['email' => 'example@email.com', 'password' => '1234'], true);

Bu işlemin sonucunu kontrol etmek için:

if(Glad::status() === true) {
    // do something...
}

status metodunu kullanabileceğimiz işlemler:

Name Description
login Üye girişi sonrası
loginByUserId Üye numarası ile giriş sonrası
andLogin Kayıt sonrası üye giriş işleminden sonra
register Kayıt işlemi sonrası
change Kullanıcı bilgileri değiştirme işlemi sonrası

check()

Kullanıcının sistemdeki oturumunu kontrol eder. Eğer oturumu aktif sonuç true döner. Aksi takdir de false döner.

Örnek

if(Glad::check() === true) {
    // do something...
}

guest()

Kullanıcının sistemdeki oturumunu kontrol eder. Eğer oturum aktif değilse sonuç true dönecektir. Aksi takdir de false döner.

Örnek

if(Glad::guest() === true) {
    // do something...
}

is()

Kapsayıcı bir metodtur. Check ve guest metodlarını kullanabilmektedir.

Örnek 1

if(Glad::is('check') === true) {
    // do something...
}

Örnek 2

if(Glad::is('guest') === true) {
    // do something...
}

toArray()

Kullanıcının oturum verilerini array olarak döndürür.

Örnek:

Glad::toArray();

toObject()

Kullanıcının oturum verilerini stdObject olarak döndürür.

Örnek:

Glad::toObject();

toJson()

Kullanıcının oturum verilerini JSON olarak döndürür.

Örnek:

Glad::toJson();

toXml()

Kullanıcının oturum verilerini XML olarak döndürür.

Örnek:

Glad::toXml();