Method Kütüphanesi
"Databases/ dizini bir veritabanı tablolarının şemasını oluşturup Generate::databases() komutu ile bu şemanın gerçek bir veritabanı ve tablo olarak işlenmesini sağlayabilirsiniz."
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.