Request Kütüphanesi

Request kütüphanesi, uygulamaya gelen HTTP isteklerinin daha kolay yönetilebilmesini sağlar. $_GET, $_POST, $_PUT, $_DELETE ve $_FILES süper globallerine bu kütüphane ile erişilir.

  1. Tüm Request Verilerine Erişme » all()
  2. GET Methodu ile Veri Çekme » get()
  3. POST Methodu ile Veri Çekme » post()
  4. PUT Methodu ile Veri Çekme » put()
  5. PATCH Methodu ile Veri Çekme » patch()
  6. DELETE Methodu ile Veri Çekme » delete()
  7. FILES Methodu ile Veri Çekme » files()
  8. HTTP Request Methodunu Öğrenme » getRequestMethod()
  9. Server Verilerine Erişme » server()
  10. Header Verilerine Erişme » headers()
  11. URI Bölümlerine Erişme » segments(), getSegment(), currentSegment
  12. Query String Verisine Erişme » getQueryString()
  13. Content Type Verisine Erişme » getContentType()
  14. Web Tarayıcısının Desteklediği Diller » getLocales(), getLocale()
  15. HTTP Request Method Kontrolü » isMethod()
  16. HTTP AJAX Request Kontrolü » isAjax()
  17. HTTP SSL Request Kontrolü » isSecure()
  18. HTTP Request Robot Kontrolü » isRobot()
  19. HTTP Request Mobil Cihaz Kontrolü » isMobile()
  20. HTTP Request Yönlendirici Kontrolü » isReferral()
  21. Ziyaretçi IP Adresini Öğrenme » getIp()
  22. XSS Filtreleme » filter()
  23. HTML Filtreleme » htmlClean()

Tüm Request Verilerine Erişme

Tüm HTTP Request verilerine erişmek için kullanılır. Varsayılan olarak XSS ataklarına karşı filtreleme yapar. Filtrelemeyi kapatmak için ikinci parametre olarak false verilir. Array döndürür.

Parametre Veri Tipi Açıklama
$xss_filter Boolean XSS Filtreleme (default: true)
Request::all();
Request::all(false); // XSS Filtreleme yapmaz

GET Methodu ile Veri Çekme

GET Methodu ile gelen verilere erişmek için kullanılır. Varsayılan olarak XSS ataklarına karşı filtreleme yapar. Filtrelemeyi kapatmak için ikinci parametre olarak false verilir.

Parametre Veri Tipi Açıklama
$data String Anahtar
$xss_filter Boolean XSS Filtreleme (default: true)
Request::get('key');
Request::get('key', false); // XSS Filtreleme yapmaz

POST Methodu ile Veri Çekme

POST Methodu ile gelen verilere erişmek için kullanılır. Varsayılan olarak XSS ataklarına karşı filtreleme yapar. Filtrelemeyi kapatmak için ikinci parametre olarak false verilir.

Parametre Veri Tipi Açıklama
$data String Anahtar
$xss_filter Boolean XSS Filtreleme (default: true)
Request::post('key');
Request::post('key', false); // XSS Filtreleme yapmaz

PUT Methodu ile Veri Çekme

PUT Methodu ile gelen verilere erişmek için kullanılır. Varsayılan olarak XSS ataklarına karşı filtreleme yapar. Filtrelemeyi kapatmak için ikinci parametre olarak false verilir.

Parametre Veri Tipi Açıklama
$data String Anahtar
$xss_filter Boolean XSS Filtreleme (default: true)
Request::put('key');
Request::put('key', false); // XSS Filtreleme yapmaz

PATCH Methodu ile Veri Çekme

PATCH Methodu ile gelen verilere erişmek için kullanılır. Varsayılan olarak XSS ataklarına karşı filtreleme yapar. Filtrelemeyi kapatmak için ikinci parametre olarak false verilir.

Parametre Veri Tipi Açıklama
$data String Anahtar
$xss_filter Boolean XSS Filtreleme (default: true)
Request::patch('key');
Request::patch('key', false); // XSS Filtreleme yapmaz

DELETE Methodu ile Veri Çekme

DELETE Methodu ile gelen verilere erişmek için kullanılır. Varsayılan olarak XSS ataklarına karşı filtreleme yapar. Filtrelemeyi kapatmak için ikinci parametre olarak false verilir.

Parametre Veri Tipi Açıklama
$data String Anahtar
$xss_filter Boolean XSS Filtreleme (default: true)
Request::delete('key');
Request::delete('key', false); // XSS Filtreleme yapmaz

FILES Methodu ile Veri Çekme

FILES Methodu ile gelen verilere erişmek için kullanılır.

Parametre Veri Tipi Açıklama
$data String Anahtar
Request::files('key');

HTTP Request Methodunu Öğrenme

Uygulamaya yapılan HTTP isteğinin methodunu öğrenmek için getRequestMethod() methodu kullanılır.

Request::getRequestMethod();

Server Verilerine Erişme

SERVER süper gobalinde bulunan verilere erişmek için server() methodu kullanılır.

Parametre Veri Tipi Açıklama
$key String Anahtar
Request::server('REMOTE_ADDR');

Bu method kullanılabilen parametreler aşağıdaki bağlantıda listelenmektedir; http://php.net/manual/tr/reserved.variables.server.php

Parametre verilmediğinde tüm verileri bir dizi olarak döndürür.

Header Verilerine Erişme

Gelen isteğe ait HTTP başlıklarına erişmek için headers() methodu kullanılır. Parametre verilmediğinde tüm header bilgisini bir dizi olarak döndürür.

Parametre Veri Tipi Açıklama
$key String Anahtar
Request::headers('User-Agent');

URI Bölümlerine Erişme

# segments()

Çalıştırılan URL adresi içerisindeki bölümlere erişmek için segments() methodu kullanılır. Array değer döndürür.

print_r(Request::segments());

Yukarıdaki örnekte görülen controllerın http://www.alanadi.com/blog/test-post url'inde çalıştığı düşünülürse, kodun çıktısı aşağıdaki gibi olacaktır;

Array
(
    [0] => blog
    [1] => test-post
)

# getSegment()

İstenen bir URI bölümüne erişmek için getSegment() methodu kullanılır. Erişilmek istenen URI bölümünün, dizideki key değerini parametre olarak alır.

echo Request::getSegment(1);

Yukarıdaki kodun çıktısı test-post olacaktır.


# currentSegment()

Aktif sayfanın URI üzerindeki bölümüne erişmek için currentSegment() methodu kullanılır.

Request::currentSegment();

Query String Verisine Erişme

Uygulamaya gelen GET isteğinde bulunan query string verisine erişmek için getQueryString() methodu kullanılır.

// http://www.alanadi.com/post/?cat_id=5&post_id=3
print_r(Request::getQueryString());

Yukarıdaki örnek, cat_id=5&post_id=3 çıktısını verecektir.

Content Type Verisine Erişme

HTTP isteği sonucunda dönen response verisinde ait Content-Type verisine erişmek için getContentType() methodu kullanılır.

echo Request::getContentType(); // (Örnek çıktı: text/html)

Web Tarayıcısının Desteklediği Dilleri Öğrenme

#getLocales()

HTTP isteğinde bulunan web tarayıcısı tarafından desteklenen dilleri öğrenmek için getLocales() methodu kullanılır. Array değer döndürür.

print_r(Request::getLocales());

Yukarıdaki kod, aşağıdaki yapıda bir çıktı verecektir;

Array
(
    [0] => tr-tr
    [1] => tr
    [2] => en-us
    [3] => en
    [4] => de
    [5] => fr
    [6] => it
)

#getLocale()

HTTP isteğinde bulunan web tarayıcısnın aktif dilini öğrenmek için getLocale() methodu kullanılır.

echo Request::getLocale(); // (Örnek çıktı: tr-tr)

HTTP Request Method Kontrolü

Uygulamaya gelen HTTP isteğinin methodunu kontrol etmek için isMethod() methodu kullanılır. Kontrol edilecek methodu parametre olarak alır.

Parametre Veri Tipi Açıklama
$method String Request methodu
if (Request::isMethod('GET')) {
	echo 'GET request';
} elseif (Request::isMethod('POST')) {
	echo 'POST request';
}

Yukarıdaki örnekte, Home controllera gelen isteğin methodu GET ise ekrana 'GET request', POST ise 'POST request' yazılır.

HTTP AJAX Request Kontrolü

Uygulamaya gelen HTTP isteklerinin AJAX çağrısı olup olmadığını öğrenmek için isAjax() methodu kullanılır.

if (Request::isAjax()) {
	echo 'Bu bir AJAX çağrısıdır.';
}

HTTP SSL Request Kontrolü

Uygulamaya gelen HTTP isteğinin güvenli (ssl) olup olmadığını öğrenmek için isSecure() methodu kullanılır.

if (Request::isSecure()) {
	echo 'Bağlantı güvenli';
}

HTTP Request Robot Kontrolü

Uygulamaya gelen HTTP isteğinin robot olup olmadığını öğrenmek için isRobot() methodu kullanılır.

if (Request::isRobot()) {
	echo 'Robot ziyaretçi';
}

HTTP Request Mobil Cihaz Kontrolü

Uyulamaya gelen HTTP isteğinin mobil bir cihazdan gönderilip gönderilmediğini öğrenmek için isMobile() methodu kullanılır.

if (Request::isMobile()) {
	echo 'Mobil ziyaretçi';
}

HTTP Request Yönlendirici Kontrolü

Uyulamaya gelen HTTP isteğinin başka bir siteden gönderilip gönderilmediğini öğrenmek için isReferral() methodu kullanılır.

if (Request::isReferral()) {
	echo 'Yönlendirme yapılmış';
}

HTTP Request Yönlendirici Bilgisi

Bir yönlendirici üzerinden gelen HTTP isteğinin gönderildiği adrese erişmek için getReferrer() methodu kullanılır.

if (Request::isReferral()) {
	echo Request::getReferrer();
}

Ziyaretçi IP Adresini Öğrenme

Ziyaretçinin ip adresine erişmek için getIp() methodu kullanılır.

echo Request::getIp();

XSS Filtreleme

Uygulamaya gelen HTTP isteğinde bulunan verileri, xss ataklarına karşı filtrelemek için filter() methodu kullanılır. Filtrelenecek veriyi parametre olarak alır.

Parametre Veri Tipi Açıklama
$data String Filtrelenecek veri
$username = Request::filter(Request::post('username'));

HTML Filtreleme

Uygulamaya gelen HTTP isteğindeki verilerde bulunan zararlı HTML taglarını filtrelemek için htmlClean() methodu kullanılır. Filtrelenecek veriyi parametre olarak alır.

Parametre Veri Tipi Açıklama
$data String Filtrelenecek veri
$username = Request::htmlClean(Request::post('username'));