Temizleme deseni eksik (ARCH7082)
Anahtar php.performance.dispose-pattern · Önem info · Kategori performance
Bir sınıf kapatılabilir bir kaynağı alan olarak tutuyorsa ancak onu serbest bırakacak bir temizleme metodu sunmuyorsa, sahip olunan kaynaklar asla bırakılmaz. Bir kapatma metodu ekleyin.
Hatalı
Bölüm başlığı “Hatalı”<?phpclass Logger{ private $fh; public function __construct(string $path) { $this->fh = fopen($path, 'a'); }}<?phpclass Logger{ private $fh; public function __construct(string $path) { $this->fh = fopen($path, 'a'); } public function close(): void { fclose($this->fh); }}Düzeltme
Bölüm başlığı “Düzeltme”Kapatılabilir alan tutan sınıflara bu kaynakları serbest bırakan açık bir close() metodu (veya __destruct) ekleyin.