public static function barcode_instance($item, $barcode_config) { $barcode_instance = Barcode_lib::get_barcode_instance($barcode_config['barcode_type']); $is_valid = empty($item['item_number']) && $barcode_config['barcode_generate_if_empty'] || $barcode_instance->validate($item['item_number']); // if barcode validation does not succeed, if (!$is_valid) { $barcode_instance = Barcode_lib::get_barcode_instance(); } $seed = Barcode_lib::barcode_seed($item, $barcode_instance, $barcode_config); $barcode_instance->setData($seed); return $barcode_instance; }