Sample code for 30+ languages & platforms
PHP Requires Chilkat v11.7.0+

Get the QR Code Capabilities of the Chilkat Version in Use

See more QR Code Examples

Demonstrates the capabilities operation, which describes what the installed version of Chilkat can do: the range of QR versions, the error-correction levels, the operations, the image formats and the limits. A program can check for a feature here instead of testing for a Chilkat version number. The request can be an empty JSON object.

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\Formats;
use Chilkat2\JsonObject;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

$json = new JsonObject();
$fmt = new Formats();
$jsonOut = new JsonObject();
try {
    $fmt->QrCode('capabilities', $json, $jsonOut);
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

echo 'Chilkat version: ', $jsonOut->StringOf('productVersion'), "\n";
echo 'symbology: ', $jsonOut->StringOf('symbologies[0].id'), "\n";
echo 'QR versions: ', $jsonOut->IntOf('symbologies[0].encoding.version.min'), ' to ', $jsonOut->IntOf('symbologies[0].encoding.version.max'), "\n";
echo 'structured append, most symbols: ', $jsonOut->IntOf('symbologies[0].structuredAppend.maxSymbols'), "\n";

$n = $jsonOut->SizeOfArray('symbologies[0].encoding.errorCorrection');
for ($i = 0; $i < $n; $i++) {
    $jsonOut->I = $i;
    echo 'error correction: ', $jsonOut->StringOf('symbologies[0].encoding.errorCorrection[i]'), "\n";
}

// The operations this version implements.
$n = $jsonOut->SizeOfArray('operations');
for ($i = 0; $i < $n; $i++) {
    $jsonOut->I = $i;
    if ($jsonOut->BoolOf('operations[i].available')) {
        echo 'operation: ', $jsonOut->StringOf('operations[i].name'), "\n";
    }
}

$n = $jsonOut->SizeOfArray('imageFormats.output');
for ($i = 0; $i < $n; $i++) {
    $jsonOut->I = $i;
    echo 'image format: ', $jsonOut->StringOf('imageFormats.output[i]'), "\n";
}

echo 'default timeout: ', $jsonOut->IntOf('limits.timeoutMs.default'), " ms\n";
echo 'default largest image: ', $jsonOut->IntOf('limits.maxPixels.default'), " pixels\n";

// Sample output:

// Chilkat version: 11.7.0
// symbology: qr
// QR versions: 1 to 40
// structured append, most symbols: 16
// error correction: auto
// error correction: L
// error correction: M
// error correction: Q
// error correction: H
// operation: generate
// operation: measure
// operation: validate
// operation: capabilities
// image format: png
// image format: svg
// default timeout: 10000 ms
// default largest image: 16777216 pixels