CURL Kütüphanesi
"ZN Framework'te tema entegrasyonu sürükle bırak kadar basit bir şekilde gerçekleştirilebilmektedir."
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 (ZN >= 2.0.0)
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 (ZN >= 2.0.0)
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 (ZN >= 5.3.7)
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 (ZN >= 2.0.0)
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 (ZN >= 6.58.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 (ZN >= 3.1.7)
Özel içerikli karakterleri kodlar.
Parametreler
string | $str | Kodlanacak dizge. |
return | this |
Kullanımı
CURL::init();
echo CURL::escape('Şaban');
# Unescape (ZN >= 3.1.7)
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 (ZN >= 2.0.0)
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 (ZN >= 2.0.0)
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 (ZN >= 2.0.0)
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 (ZN >= 4.0.0)
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 (ZN >= 2.0.0)
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 (ZN >= 2.0.0)
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 (ZN >= 2.0.0)
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 ),
)