Cara Anda menjawab di atas bukanlah pendekatan yang baik.
Kelas Zend_Captcha_Image
telah menyediakan fungsi untuk mengubah variabel. Anda dapat menemukan fungsi-fungsi di kelas yang sama yang akan menjadi seperti ini:
public function setDotNoiseLevel ($dotNoiseLevel)
{
$this->_dotNoiseLevel = $dotNoiseLevel;
return $this;
}
/**
* @param int $lineNoiseLevel
*/
public function setLineNoiseLevel ($lineNoiseLevel)
{
$this->_lineNoiseLevel = $lineNoiseLevel;
return $this;
}
Dan juga Zend_Captcha_Image
diperluas ke kelas model Mage yaitu Mage_Captcha_Model_Zend
. Jadi, Anda dapat dengan mudah mengganti kelas model Mage ini untuk mengatur variabel-variabel tersebut.
Di Mage_Captcha_Model_Zend:
public function __construct($params)
{
if (!isset($params['formId'])) {
throw new Exception('formId is mandatory');
}
$this->_formId = $params['formId'];
$this->setExpiration($this->getTimeout());
$this->setDotNoiseLevel(10); // Added code
$this->setLineNoiseLevel(0); // Added code
}
Saya mengatur variabel-variabel tersebut dalam konstruktor sehingga perubahan akan berfungsi bahkan untuk memuat halaman dan juga untuk menyegarkan captcha.
Akan lebih baik jika Anda mengganti fungsi di atas daripada memodifikasi file inti mage.