Method Kütüphanesi
"URL::base() ve URL::site() kullanımları farklıdır. Özellikle varlık dosyalarına yol verilirken URL::base(), [a] etiketi ile köprü oluştururken URL::site() kullanılmalıdır."
Post, get, request veya files verileri kullanmak için oluşturulmuş sınıftır. Standart küreseller güvenlik süzgecinden geçmediği için bu verilerin güvenliğini tesis etmek üzerine yani XSS ataklarını engellemek için oluşturulmuş kütüphanedir.
# Kurulum
ZN dağıtımları için kurulum gerekmez.
↓ composer require znframework/package-request
# Yöntemler
# Post
$_POST dizisi ile gelen verileri almak için kullanılır. Bu kullanım standart kullanımdan farklı olarak değerler üzerinde html karakterleri (<, >, ", ') dönüştürme işlemi uygular.
mixed $value | İlgili anahtara eklenecek değer. |
return mixed |
Kullanımlar
Post yönteminden gelen veri dizisinin anahtarları yöntem adı olarak kullanılırsa o anahtara ait veri elde edilir.
Post::example('Example Value'); echo Post::example();
Example Value
Html Karakterlerini Dönüştürme
Bu kullanımda html karakterleri üzerinde dönüştürme işlemi yapılır. Dönüştürme uygulanan karakterler ve karşılıkları aşağıdaki tabloda gösterilmiştir.
" " ' ' < < > > Post::xss('<script>alert("1")</alert>'); echo Post::xss();
<script>alert("1")</script>
Çok Boyutlu Diziler [6.22.0][2021-07-29]
Daha önce çok boyutlu dizi içeren anahtarlara filtre uygulaması yapılamazken artık yapılabilmektedir.
Post::example(['cities' => ['London', 'Istanbul', 'Paris', '<script>alert("Rome")</script>']]); output( Post::example() );
cities =>
[
0 => string 'London'
1 => string 'Istanbul'
2 => string 'Paris'
3 => string '<script>alert("Rome")</script>'
]Bu kullanım Get:: ve Request:: sınıfları içinde geçerlidir.
Tüm postları almak için all() yöntemi kullanılır.
output( Post::all() );
Dikkat: Bu kullanımda gelen veriler doğrudan alındığı için üzerinde herhangi bir dönüştürme işlemi uygulanmaz.Bu bağlamda validasyon filtresi kullanılmadan DB::insert('post:users') veya DB::update('post:users') gibi otomatik eşleşme kullanımlarında ilgili veriler üzerinde hiç bir html dönüştürme işlemi yapılmadan veritabanına işleneceğini bilmenizde fayda var.
Böyle bir kullanımda
<
ve>
karakterlerinin dönüştürülmesi için Validation::html() yönteminden yararlanabilirsiniz.
# Get
$_GET Yöntemiyle gelen verileri almak için kullanılır.
mixed $value | İlgili anahtara eklenecek değer. |
return mixed |
Kullanımlar
Get yönteminden gelen veri dizisinin anahtarları yöntem adı olarak kullanılırsa o anahtara ait veri elde edilir.
Get::example('Example Value'); echo Get::example();
Example Value
Tüm getleri almak için;
output( Get::all() );
# Request
$_POST ve $_GET yöntemleriyle gelen verileri almak için kullanılır.
mixed $value | İlgili anahtara eklenecek değer. |
return mixed |
Kullanımlar
Post ve get yönteminden gelen veri dizisinin anahtarları yöntem adı olarak kullanılırsa o anahtara ait veri elde edilir.
Request::example('Example Value'); echo Request::example();
Example Value
İstek yapılan IP adresi bilgisini verir.
return string echo Request::ipv4();
127.0.0.1
İstek yapılan method bilgisini verir.
string $casing = 'upper' Çıktının harf türü. return string echo Request::method();
POST
# Env
$_ENV yöntemleriyle gelen verileri almak için kullanılır.
mixed $value | İlgili anahtara eklenecek değer. |
return mixed |
Kullanımlar
Gelen veri dizisinin anahtarları yöntem adı olarak kullanılırsa o anahtara ait veri elde edilir.
Env::example('Example'); echo Env::example();
# Server
Hem $_SERVER dizisinin hem de Server::all() yönteminin çıktıladığı özel dizide yer alan anahtarlara yöntem adıyla erişim sağlayabilirsiniz.
string $key | ilgili anahtar. |
return mixed |
Kullanımlar
output(Server::host());
Parametreye göre server bilgisini verir. Bu parametrenin boş bırakılması durumunda dizi türünden $_SERVER verileri döner.
string $key = NULL ilgili anahtar. return mixed Kullanımlar
output( Server::data() );
[$key]
Server::all() veya Server::data() yöntemlerinin döndürdüğü dizi anahtarlarına yöntem adı ile erişebilirsiniz.
echo Server::data('software');
Apache/2.2.22 (Win64) PHP/5.3.13
Bu yöntem $_SERVER dizisinin özelleştirilmiş bir halini çıktılar.
output(Server::all());
Mevcut işletim sistemi türünü verir.
return string Döndürebilir Değerler: WIN, MAC, LINUX, UNIX ve UNKNOWN Kullanımlar
echo Server::os();
WIN
# Files
$_FILES yöntemleriyle gelen verileri almak için kullanılır.
string $name | $_FILES dizisine ait anahtarlardan biri. |
mixed $key = 'name' | İç dizi anahtarı. |
return mixed |
Kullanımlar
Method::files('example');
# Delete
İlgili metotla oluşturulmuş veriyi silmek için kullanılır
string $method | Verinin silineceği metot. |
mixed $key | O metoda ait anahtar. |
return bool |
Kullanımlar
Method::delete('post', 'example');
Yukarıdaki örnekte Post::example() verisi silinmiştir.