CURL Kütüphanesi
"ZN Framework 2011 senesinden beri geliştirilmeye devam etmektedir."
PHP, Daniel Stenberg tarafından yazılan CURL kütüphanesini destekler. CURL kütüphanesi farklı türdeki sunuculara bağlanmaya ve farklı protokollerle iletişim kurmaya yarar. CURL, şimdilik http, https, ftp, gopher, telnet, dict, file ve ldap protokollerini desteklemektedir. Ayrıca, HTTPS sertifikalarını, HTTP POST, HTTP PUT, FTP karşıya yüklemesini yapılabilmektedir. HTTP formların karşıya yüklemesini, oturumları, çerezleri ve kullanıcılı ve parolalı kimlik doğrulamasını da desteklemektedir.
# Kurulum
ZN dağıtımları için kurulum gerekmez.
↓ composer require znframework/package-services
# Yöntemler
this | init(string $url = NULL) |
this | option(string $options, mixed $value) |
bool | exec(void) |
this | multiple(void) |
string | escape(string $str) |
string | unescape(string $str) |
mixed | info(string $opt) |
string | error(void) |
string | errval(int $errno = 0) |
int | errno(void) |
int | pause(scalar $bitmask = 0) |
bool | reset(void) |
bool | close(void) |
mixed | version(scalar $data = NULL) |
# Init
Bir CURL oturumu başlatmak için kullanılır.
Parametreler
string | $url = NULL | CURLOPT_URL değerini ön tanımlı ayarlamak için kullanılır. |
return | this |
Kullanımı
CURL::init()
->option('url', 'https://www.ornek.com/')
->option('header', 0)
->exec();
# Option
Belirtilen CURL oturum tanıtıcısı üzerinde bir seçenek oluşturmak için kullanılır.
Parametreler
string | $option | Atanacak CURLOPT_* seçeneği. |
mixed | $value | Atanacak seçeneğin değeri. |
return | this |
Kullanımı
CURL::init()
->option('url', 'https://www.ornek.com/')
->option('post', 1)
->option('postfields', ['name' => 'Example'])
->exec();
Yöntemsel Seçenekler
Seçenekler yöntem isimleri ile yapılandırılabilir hale gelmiştir. CURLOPT_SSL_VERIFYPEER gibi birden fazla kelimenin birleşiminden oluşan sabitler ise sslVerifypeer() formunda yani camelCase standartında yazılmalıdır. Bunlar seçenek oldukları için CURLOPT_ ibaresinin kullanılmasına da gerek yoktur.
CURL::init()
->url('https://www.ornek.com/')
->post(1)
->postfields(['name' => 'Example'])
->header(0)
->sslVerifypeer(true)
->exec();
Yukarıda görüldüğü üzere seçenekler yöntem isimleri ile kullanılıp parametre ile yeniden yapılandırılmıştır.
# Exec
Başlatılan CURL oturumunu çalıştırmak için kullanılır.
Parametreler
void | ||
return | bool |
Kullanımı
CURL::init()
->option('url', 'https://www.ornek.com/')
->option('post', 1)
->option('postfields', ['name' => 'Example'])
->exec();
# Multiple [6.5.4]
Çoklu CURL isteği oluşturmak için kullanılır. Çoklu CURL isteği oluşturmak için seçenek tanımlamaları mutlaka init($url) ile sonlandırılmalıdır.
Parametreler
void | ||
return | this |
Kullanımı
$result = CURL::multiple()
->returntransfer(1)->init('url1')
->returntransfer(1)->init('url2')
->exec();
output($result);
Çoklu istek mutlaka CURL::multiple() ile başlamalı ve seçenekler CURL::init($url) ile sonlandırılmalı nihai olarak CURL::exec() ile istek tamamlanmalıdır.
# Escape
Özel içerikli karakterleri kodlar.
Parametreler
string | $str | Kodlanacak dizge. |
return | this |
Kullanımı
CURL::init();
echo CURL::escape('Şaban');
# Unescape
Kodlanmış özel içerikli karakterleri çözümler.
Parametreler
string | $str | Çözülecek dizge. |
return | this |
Kullanımı
CURL::init();
$encode = CURL::escape('Şaban');
echo CURL::unescape($encode);
# Info
Başlatılan oturumla ile ilgili bilgi verir.
Parametreler
string | $op | Bilgi alınacak seçenek adı. |
return | mixed |
Kullanımı
CURL::init('https://www.znframework.com');
output(CURL::info('effective_url'));
# Error / Errval
CURL oturumu ile ilgili hata olup olmadığı bilgisini verir. Yukarıdaki her iki yöntemde aynı işlevi görür.
Parametreler
void | ||
return | string |
Kullanımı
CURL::init('https://www.znframework.coms');
CURL::exec();
output(CURL::error());
# Errno
CURL oturumu ile ilgili hata olup olmadığı bilgisini hata numarası olarak verir.
Parametreler
void | ||
return | string |
Kullanımı
CURL::init('https://www.znframework.coms');
CURL::exec();
output(CURL::errno());
# Pause
CURL oturumunu duraklatır.
Parametreler
mixed | $bitmask = 0 | CURLPAUSE_* sabitlerini parametre olarak kabul eder. |
return | int |
Kullanımı
CURL::init('https://www.znframework.com');
CURL::pause();
CURL::exec();
# Reset
CURL oturumunda tanımlanan tüm seçenekleri sıfırlar.
Parametreler
void | ||
return | bool |
Kullanımı
CURL::init('https://www.znframework.com');
CURL::reset();
# Close
CURL oturumunu sonlandırmak için kullanılır. Bu işlem sınıf tarafından otomatik olarak yapılmaktadır.
Parametreler
void | ||
return | bool |
Kullanımı
CURL::init('https://www.znframework.com');
CURL::exec();
CURL::close();
# Version
CURL sürüm bilgisini verir.
Parametreler
mixed | $data = NULL | Versiyon bilgi seçeneği. |
return | mixed |
Kullanımı
CURL::init('https://www.znframework.com')->exec();
output(CURL::version());
age => integer 3 ( length = 1 ),
features => integer 266141 ( length = 6 ),
ssl_version_number => integer 0 ( length = 1 ),
version => string '7.49.1' ( length = 8 ),
host => string 'i386-pc-win32' ( length = 15 ),
ssl_version => string 'OpenSSL/1.0.2h' ( length = 16 ),
libz_version => string '1.2.8' ( length = 7 ),
protocols => array
(
0 => string 'dict' ( length = 6 ),
1 => string 'file' ( length = 6 ),
2 => string 'ftp' ( length = 5 ),
3 => string 'ftps' ( length = 6 ),
4 => string 'gopher' ( length = 8 ),
5 => string 'http' ( length = 6 ),
6 => string 'https' ( length = 7 ),
7 => string 'imap' ( length = 6 ),
8 => string 'imaps' ( length = 7 ),
9 => string 'ldap' ( length = 6 ),
10 => string 'pop3' ( length = 6 ),
11 => string 'pop3s' ( length = 7 ),
12 => string 'rtsp' ( length = 6 ),
13 => string 'scp' ( length = 5 ),
14 => string 'sftp' ( length = 6 ),
15 => string 'smtp' ( length = 6 ),
16 => string 'smtps' ( length = 7 ),
17 => string 'telnet' ( length = 8 ),
18 => string 'tftp' ( length = 6 ),
)