PHP code example of thenextweb / passgenerator
1. Go to this page and download the library: Download thenextweb/passgenerator library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
thenextweb / passgenerator example snippets
'providers' => [
// ...
Thenextweb\PassGeneratorServiceProvider::class,
],
use Thenextweb\PassGenerator;
//...
$pass_identifier = 'somekindofid'; // This, if set, it would allow for retrieval later on of the created Pass
$pass = new PassGenerator($pass_identifier);
$pass_definition = [
"description" => "description",
"formatVersion" => 1,
"organizationName" => "organization",
"passTypeIdentifier"=> "pass.com.example.appname",
"serialNumber" => "123456",
"teamIdentifier" => "teamid",
"foregroundColor" => "rgb(99, 99, 99)",
"backgroundColor" => "rgb(212, 212, 212)",
"barcode" => [
"message" => "encodedmessageonQR",
"format" => "PKBarcodeFormatQR",
"altText" => "altextfortheQR",
"messageEncoding"=> "utf-8",
],
"boardingPass" => [
"headerFields" => [
[
"key" => "destinationDate",
"label" => "Trip to: BCN-SANTS",
"value" => "15/09/2015"
]
],
"primaryFields" => [
[
"key" => "boardingTime",
"label" => "MURCIA",
"value" => "13:54",
"changeMessage" => "Boarding time has changed to %@"
],
[
"key" => "destination",
"label" => "BCN-SANTS",
"value" => "21:09"
]
],
"secondaryFields" => [
[
"key" => "passenger",
"label" => "Passenger",
"value" => "J.DOE"
],
[
"key" => "bookingref",
"label" => "Booking Reference",
"value" => "4ZK6FG"
]
],
"auxiliaryFields" => [
[
"key" => "train",
"label" => "Train TALGO",
"value" => "00264"
],
[
"key" => "car",
"label" => "Car",
"value" => "009"
],
[
"key" => "seat",
"label" => "Seat",
"value" => "04A"
],
[
"key" => "classfront",
"label" => "Class",
"value" => "Tourist"
]
],
"backFields" => [
[
"key" => "ticketNumber",
"label" => "Ticket Number",
"value" => "7612800569875"
], [
"key" => "passenger-name",
"label" => "Passenger",
"value" => "John Doe"
], [
"key" => "classback",
"label" => "Class",
"value" => "Tourist"
]
],
"locations" => [
[
"latitude" => 37.97479,
"longitude" => -1.131522,
"relevantText" => "Departure station"
]
],
"transitType" => "PKTransitTypeTrain"
],
];
$pass->setPassDefinition($pass_definition);
// Definitions can also be set from a JSON string
// $pass->setPassDefinition(file_get_contents('/path/to/pass.json));
// Add assets to the PKPass package
$pass->addAsset(base_path('resources/assets/wallet/background.png'));
$pass->addAsset(base_path('resources/assets/wallet/thumbnail.png'));
$pass->addAsset(base_path('resources/assets/wallet/icon.png'));
$pass->addAsset(base_path('resources/assets/wallet/logo.png'));
$pkpass = $pass->create();
return new Response($pkpass, 200, [
'Content-Transfer-Encoding' => 'binary',
'Content-Description' => 'File Transfer',
'Content-Disposition' => 'attachment; filename="pass.pkpass"',
'Content-length' => strlen($pkpass),
'Content-Type' => PassGenerator::getPassMimeType(),
'Pragma' => 'no-cache',
]);
// If the pass for that ID does not exist, you can then proceed to generate it as done above.
$pkpass = PassGenerator::getPass($pass_identifier);
if (!$pkpass) {
$pkpass = $this->createWalletPass();
}
// ...
sh
// file will be at config/passgenerator.php
php artisan vendor:publish --provider="Thenextweb\PassGeneratorServiceProvider"