Magento Extensions Rating 2024
EXTENSIONS BY CATEGORY
B2B (Business-To-Business)
Blog
Customer
ERP (Enterprise Resource Planning)
Mega Menu
One Step Checkout
Order
POS (Point Of Sale)
Search
Shopping Cart
Sitemap
SEO
Social
Stock & Inventory Management
EXTENSIONS BY DEVELOPER
aheadWorks
Amasty
Boost My Shop
BSS Commerce
Magestore
MageWorx
Mirasvit
Templates Master
Wyomind
XTENTO
Magento 2 Documentation
Magento 2 Documentation
2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
vendor
magento
module-sales-rule
Model
Coupon
Codegenerator.php
Go to the documentation of this file.
1
<?php
6
namespace
Magento\SalesRule\Model\Coupon
;
7
8
class
Codegenerator
extends
\Magento\Framework\DataObject
implements
CodegeneratorInterface
9
{
13
const
DEFAULT_LENGTH_MIN
= 16;
14
18
const
DEFAULT_LENGTH_MAX
= 32;
19
23
const
SYMBOLS_COLLECTION
=
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
;
24
28
const
DEFAULT_DELIMITER
=
'-'
;
29
35
public
function
generateCode
()
36
{
37
$alphabet = $this->getAlphabet() ? $this->getAlphabet() : static::SYMBOLS_COLLECTION;
38
$length = $this->
getActualLength
();
39
$code
=
''
;
40
for
(
$i
= 0, $indexMax = strlen($alphabet) - 1;
$i
< $length; ++
$i
) {
41
$code
.= substr($alphabet, random_int(0, $indexMax), 1);
42
}
43
44
return
$code
;
45
}
46
52
protected
function
getActualLength
()
53
{
54
$lengthMin = $this->getLengthMin() ? $this->getLengthMin() : static::DEFAULT_LENGTH_MIN;
55
$lengthMax = $this->getLengthMax() ? $this->getLengthMax() : static::DEFAULT_LENGTH_MAX;
56
57
return
$this->getLength() ? $this->getLength() : random_int($lengthMin, $lengthMax);
58
}
59
65
public
function
getDelimiter
()
66
{
67
return
$this->
hasData
(
'delimiter'
) ? $this->
getData
(
'delimiter'
) : static::DEFAULT_DELIMITER;
68
}
69
}
Magento\SalesRule\Model\Coupon\Codegenerator\generateCode
generateCode()
Definition:
Codegenerator.php:35
Magento\Framework\DataObject\getData
getData($key='', $index=null)
Definition:
DataObject.php:119
Magento\SalesRule\Model\Coupon\Codegenerator\SYMBOLS_COLLECTION
const SYMBOLS_COLLECTION
Definition:
Codegenerator.php:23
Magento\SalesRule\Model\Coupon\Codegenerator
Definition:
Codegenerator.php:8
Magento\SalesRule\Model\Coupon
Definition:
Codegenerator.php:6
Magento\Framework\DataObject\hasData
hasData($key='')
Definition:
DataObject.php:231
Magento\Framework\DataObject
Definition:
DataObject.php:15
Magento\SalesRule\Model\Coupon\Codegenerator\DEFAULT_DELIMITER
const DEFAULT_DELIMITER
Definition:
Codegenerator.php:28
Magento\SalesRule\Model\Coupon\Codegenerator\DEFAULT_LENGTH_MAX
const DEFAULT_LENGTH_MAX
Definition:
Codegenerator.php:18
Magento\SalesRule\Model\Coupon\Codegenerator\getDelimiter
getDelimiter()
Definition:
Codegenerator.php:65
Magento\SalesRule\Model\Coupon\Codegenerator\DEFAULT_LENGTH_MIN
const DEFAULT_LENGTH_MIN
Definition:
Codegenerator.php:13
$i
$i
Definition:
gallery.phtml:31
Magento\SalesRule\Model\Coupon\Codegenerator\getActualLength
getActualLength()
Definition:
Codegenerator.php:52
$code
$code
Definition:
info.phtml:12
Magento\SalesRule\Model\Coupon\CodegeneratorInterface
Definition:
CodegeneratorInterface.php:12