Documentation

QRMarkupXML extends QRMarkup
in package

XML/XSLT output

Table of Contents

Constants

MIME_TYPE  = 'application/xml'
SCHEMA  = 'https://raw.githubusercontent.com/chillerlan/php-qrcode/main/src/Output/qrcode.schema.xsd'

Properties

$circleDiameter  : float
$circleRadius  : float
$connectPaths  : bool
$dom  : DOMDocument
$drawCircularModules  : bool
$drawLightModules  : bool
$eol  : string
$excludeFromConnect  : array<string|int, int>
$keepAsSquare  : array<string|int, int>
$length  : int
the side length of the QR image (modules * scale)
$matrix  : QRMatrix
the (filled) data matrix object
$moduleCount  : int
the current size of the QR matrix
$moduleValues  : array<string|int, mixed>
an (optional) array of color values for the several QR matrix parts
$options  : SettingsContainerInterface|QROptions
the options instance
$scale  : int

Methods

__construct()  : mixed
QROutputAbstract constructor.
dump()  : string
Generates the output, optionally dumps it to a file, and returns it
moduleValueIsValid()  : bool
note: we're not necessarily validating the several values, just checking the general syntax note: css4 colors are not included
collectModules()  : array<int, mixed>
collects the modules per QRMatrix::M_* type and runs a $transform function on each module and returns an array with the transformed modules
copyVars()  : void
Creates copies of several QROptions values to avoid calling the magic getters in long loops for a significant performance increase.
createMarkup()  : string
returns the fully parsed and rendered markup string for the given input
createMatrix()  : DOMElement
Creates the matrix element
getCssClass()  : string
returns a string with all css classes for the current element
getDefaultModuleValue()  : string
implements \chillerlan\QRCode\Output\QROutputAbstract::getDefaultModuleValue()
getModuleValue()  : mixed
Returns the prepared value for the given $M_TYPE
getModuleValueAt()  : mixed
Returns the prepared module value at the given coordinate [$x, $y] (convenience)
getOutputDimensions()  : array<string|int, int>
Returns a 2 element array with the current output width and height
guessMimeType()  : string
Guesses the mime type from the given $imageData
module()  : DOMElement|null
Creates a DOM element for a single module
prepareModuleValue()  : string
implements \chillerlan\QRCode\Output\QROutputAbstract::prepareModuleValue()
row()  : DOMElement|null
Creates a DOM element for a matrix row
saveToFile()  : void
Saves the qr $data to a $file. If $file is null, nothing happens.
setMatrixDimensions()  : void
Sets/updates the matrix dimensions
setModuleValues()  : void
Sets the initial module values
toBase64DataURI()  : string
Returns a base64 data URI for the given string and mime type

Constants

MIME_TYPE

public final mixed MIME_TYPE = 'application/xml'

SCHEMA

public final mixed SCHEMA = 'https://raw.githubusercontent.com/chillerlan/php-qrcode/main/src/Output/qrcode.schema.xsd'

Properties

$circleRadius

protected float $circleRadius
Tags
see
QROptions::$circleRadius

$connectPaths

protected bool $connectPaths
Tags
see
QROptions::$connectPaths

$drawCircularModules

protected bool $drawCircularModules
Tags
see
QROptions::$drawCircularModules

$drawLightModules

protected bool $drawLightModules
Tags
see
QROptions::$drawLightModules

$excludeFromConnect

protected array<string|int, int> $excludeFromConnect
Tags
see
QROptions::$excludeFromConnect

$keepAsSquare

protected array<string|int, int> $keepAsSquare
Tags
see
QROptions::$keepAsSquare

$length

the side length of the QR image (modules * scale)

protected int $length

$moduleValues

an (optional) array of color values for the several QR matrix parts

protected array<string|int, mixed> $moduleValues
Tags
phpstan-var

array<int, mixed>

Methods

dump()

Generates the output, optionally dumps it to a file, and returns it

public dump([string|null $file = null ]) : string

please note that the value of QROptions::$cachefile is already evaluated at this point. if the output module is invoked manually, it has no effect at all. you need to supply the $file parameter here in that case (or handle the option value in your custom output module).

Parameters
$file : string|null = null
Return values
string

moduleValueIsValid()

note: we're not necessarily validating the several values, just checking the general syntax note: css4 colors are not included

public static moduleValueIsValid(string $value) : bool

implements \chillerlan\QRCode\Output\QROutputInterface::moduleValueIsValid()

Parameters
$value : string
Tags
todo:

XSS proof

see
https://developer.mozilla.org/en-US/docs/Web/CSS/color_value
Return values
bool

collectModules()

collects the modules per QRMatrix::M_* type and runs a $transform function on each module and returns an array with the transformed modules

protected collectModules(Closure $transform) : array<int, mixed>

The transform callback is called with the following parameters:

$x - current column $y - current row $M_TYPE - field value $M_TYPE_LAYER - (possibly modified) field value that acts as layer id

Parameters
$transform : Closure
Return values
array<int, mixed>

copyVars()

Creates copies of several QROptions values to avoid calling the magic getters in long loops for a significant performance increase.

protected copyVars() : void

These variables are usually used in the "module" methods and are called up to 31329 times (at version 40).

createMarkup()

returns the fully parsed and rendered markup string for the given input

protected createMarkup(bool $saveToFile) : string
Parameters
$saveToFile : bool
Tags
inheritDoc
throws
QRCodeOutputException
Return values
string

createMatrix()

Creates the matrix element

protected createMatrix() : DOMElement
Return values
DOMElement

getCssClass()

returns a string with all css classes for the current element

protected getCssClass([int $M_TYPE = 0 ]) : string
Parameters
$M_TYPE : int = 0
Return values
string

getDefaultModuleValue()

implements \chillerlan\QRCode\Output\QROutputAbstract::getDefaultModuleValue()

protected getDefaultModuleValue(bool $isDark) : string
Parameters
$isDark : bool
Return values
string

getModuleValue()

Returns the prepared value for the given $M_TYPE

protected getModuleValue(int $M_TYPE) : mixed
Parameters
$M_TYPE : int
Tags
throws
QRCodeOutputException

if $moduleValues[$M_TYPE] doesn't exist

getModuleValueAt()

Returns the prepared module value at the given coordinate [$x, $y] (convenience)

protected getModuleValueAt(int $x, int $y) : mixed
Parameters
$x : int
$y : int

getOutputDimensions()

Returns a 2 element array with the current output width and height

protected getOutputDimensions() : array<string|int, int>
Tags
inheritDoc
Return values
array<string|int, int>

guessMimeType()

Guesses the mime type from the given $imageData

protected guessMimeType(string $imageData) : string
Parameters
$imageData : string
Tags
throws
QRCodeOutputException
Return values
string

module()

Creates a DOM element for a single module

protected module(int $x, int $y, int $M_TYPE) : DOMElement|null
Parameters
$x : int
$y : int
$M_TYPE : int
Return values
DOMElement|null

prepareModuleValue()

implements \chillerlan\QRCode\Output\QROutputAbstract::prepareModuleValue()

protected prepareModuleValue(string $value) : string
Parameters
$value : string
Return values
string

row()

Creates a DOM element for a matrix row

protected row(int $y, array<string|int, int> $row) : DOMElement|null
Parameters
$y : int
$row : array<string|int, int>
Return values
DOMElement|null

saveToFile()

Saves the qr $data to a $file. If $file is null, nothing happens.

protected saveToFile(string $data[, string|null $file = null ]) : void
Parameters
$data : string
$file : string|null = null
Tags
see
file_put_contents()
see
QROptions::$cachefile
throws
QRCodeOutputException

setMatrixDimensions()

Sets/updates the matrix dimensions

protected setMatrixDimensions() : void

Call this method if you modify the matrix from within your custom module in case the dimensions have been changed

setModuleValues()

Sets the initial module values

protected setModuleValues() : void

toBase64DataURI()

Returns a base64 data URI for the given string and mime type

protected toBase64DataURI(string $data[, string|null $mime = null ]) : string

The mime type can be set via class constant MIME_TYPE in child classes, or given via $mime, otherwise it is guessed from the image $data.

Parameters
$data : string
$mime : string|null = null
Return values
string

        
On this page

Search results