setType($barcodeType); } /** * Sets a new barcode validator * * @param string $barcodeType - Barcode validator to use * @return void * @throws Zend_Validate_Exception */ public function setType($barcodeType) { switch (strtolower($barcodeType)) { case 'upc': case 'upc-a': require_once 'Zend/Validate/Barcode/UpcA.php'; $class = 'Zend_Validate_Barcode_UpcA'; break; case 'ean13': case 'ean-13': require_once 'Zend/Validate/Barcode/Ean13.php'; $class = 'Zend_Validate_Barcode_Ean13'; break; default: require_once 'Zend/Validate/Exception.php'; throw new Zend_Validate_Exception("Barcode type '$barcodeType' is not supported'"); break; } $this->_barcodeValidator = new $class; } /** * Defined by Zend_Validate_Interface * * Returns true if and only if $value contains a valid barcode * * @param string $value * @return boolean */ public function isValid($value) { return call_user_func(array($this->_barcodeValidator, 'isValid'), $value); } }