Я новичок в программировании ООП, я недавно участвовал в обсуждении веб-темы, поэтому здесь моя проблема: на основе этого старого вопроса, когда я сталкиваюсь с методами costruct/destruct, использующими cURL с PHP, я не знаю, должен ли я используйте curl_close или unset. Какой из них правильный? Другими словами, отменяет ($ ch) закрытие сеанса curl при использовании в методе destruct? Мой класс структурирован следующим образом:
class UsingCurl {
// Properties: cUrl handle, various constants, etc.
private $ch;
...
public function __construct( ) {
// setup cookie file with fopen
// init cURL
curl_init( $this->ch );
// setup main cURL options with curl_setopt
}
// various methods
public function __destruct( ) {
// store session data to db or file
// closing cURL session with curl_close or unset($this->ch)?
}
Вы должны использовать curl_close
потому что это закроет сессию curl и освободит все ресурсы. Он также удалит ручку для завивки:
Closes a cURL session and frees all resources. The cURL handle, ch, is also deleted.
И именно с этим он справляется:
$ch = curl_init();
var_dump($ch); // resource(3, curl)
curl_close($ch);
var_dump($ch); // resource(3, Unknown)
Нет никакого вреда, если вы сделаете оба curl_close и отмените так:
public function __destruct( ) {
curl_close($this->ch);
unset($this->ch);
}
$this->ch = curl_init();