The following methods (property getters) have been deprecated in favor of asymmetric visibility, which is available as of PHP 8.4 and which is the minimum requirement of the next major version (v7) of php-qrcode.
The QRMatrix class will see an addition of a magic getter that emulates the future behaviour as an upgrade path, the other methods are only used internally and will see no such addition for the time being.
| method | replacement |
|---|---|
BitBuffer::getBuffer()
| BitBuffer::$buffer
|
BitBuffer::getLength()
| BitBuffer::$length
|
Detector::getFinderPatterns()
| Detector::$finderPatterns
|
EccLevel::getLevel()
| EccLevel::$level
|
ECICharset::getID()
| ECICharset::$charsetID
|
FinderPattern::getCount()
| FinderPattern::$count
|
GenericGFPoly::getCoefficients()
| GenericGFPoly::$coefficients
|
LuminanceSourceInterface::getHeight()
| LuminanceSourceInterface::$height
|
LuminanceSourceInterface::getWidth()
| LuminanceSourceInterface::$width
|
LuminanceSourceInterface::getLuminances()
| LuminanceSourceInterface::$luminances
|
MaskPattern::getPattern()
| MaskPattern::$currentPattern
|
QRData::getBitBuffer()
| QRData::$bitBuffer
|
QRMatrix::getEccLevel()
| QRMatrix::$eccLevel
|
QRMatrix::getMaskPattern()
| QRMatrix::$maskPattern
|
QRMatrix::getMatrix()
| QRMatrix::$matrix
|
QRMatrix::getSize()
| QRMatrix::$moduleCount
|
QRMatrix::getVersion()
| QRMatrix::$version
|
ResultPoint::getEstimatedModuleSize()
| ResultPoint::$estimatedModuleSize
|
ResultPoint::getX()
| ResultPoint::$x
|
ResultPoint::getY()
| ResultPoint::$y
|
Version::getVersionNumber()
| Version::$versionNumber
|
The following properties as well as the method copyVars() in QROutputAbstract will be removed in v7 without replacement,
as they only existed to improve performance by circumventing the magic getters in the QROptions class - these are replaced by (set) property hooks where unnecessary overhead is reduced. Some of the built-in output classes may see the re-addition of some of these properties locally, depending on the performance impact.
QROutputAbstract::$excludeFromConnect
QROutputAbstract::$keepAsSquare
QROutputAbstract::$connectPaths
QROutputAbstract::$eol
QROutputAbstract::$drawCircularModules
QROutputAbstract::$drawLightModules
QROutputAbstract::$circleRadius
These changes are already in dev-main.