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
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 ),
)
