igrejanet / badges
用于为教堂成员创建徽章的包
3.0.0
2022-08-13 01:14 UTC
Requires
- php: ^8.1
- ext-gd: *
- h4cc/wkhtmltopdf-amd64: ^0.12.3
- illuminate/http: ^7.0|^8.0|^9.0
- illuminate/support: ^7.0|^8.0|^9.0
- knplabs/knp-snappy: 1.*
- laminas/laminas-barcode: ^2.0
Requires (Dev)
- laravel/pint: ^1.1
- pestphp/pest: ^1.21
- phpmd/phpmd: ^2.12
- squizlabs/php_codesniffer: ^3.7
README
Igrejanet Badges
Igrejanet Badges 包负责生成各种徽章和卡片。
安装
安装时,请使用 composer
$ composer require igrejanet/badges
注意:该包已准备好与 Laravel 5.5 一起使用。因此,无需注册 Service Provider
使用
要使用此包,您可以这样做
框架无关
<?php require_once './vendor/autoload.php'; use Igrejanet\Badges\Badge; use Igrejanet\Badges\Person\Company; use Igrejanet\Badges\Person\Members; use Igrejanet\Badges\Person\Person;use Knp\Snappy\Pdf; // Você pode setar uma localização diferente para o gerador // mas o mesmo já vem listado como dependência no composer $pdf = new Pdf(__DIR__ . './vendor/bin/wkhtmltopdf-amd64'); // Dados da Empresa $logo = __DIR__.'/img/logo.png'; $type = 'Carteira de Identificação Ministerial'; $companyInfo = [ 'II Igreja de Deus do Avivamento Bíblico', 'Rua G, 336 - Vila Campos - Montes Claros - MG', 'Tel.: (38)4009-5777 - idabmoc@gmail.com.br - http://idabmoc.com' ]; $cardInfo = [ 'Uso exclusivo para identificação ministerial', 'Esta carteira é pessoal e intransferível', 'Válida somente enquanto o usuário estiver regularmente registrado' ]; $company = new Company($logo, $type, $companyInfo, $cardInfo); // Dados dos usuarios $foto = __DIR__.'/img/matheus.jpg'; $members = new Members(); $members->add( new Person('Matheus', 'Analista', 8364, $foto, ['RG' => 'MG 11.111.111']) ); $members->add( new Person('Lopes', 'DBA', 8399, $foto, ['RG' => 'MG 14.131.121', 'CPF' => '101.384.146-88', 'Cargo' => 'DBA']) ); // Gera as carteirinhas $badge = new Badge($pdf); $response = $badge->setMembers($members) ->setCompany($company) ->generate(); $response->send();
与 Laravel 一起使用
要与 Laravel 一起使用,您必须在 .env
文件中定义生成器文件的路径,使用变量 WKHTMLTOPDF_LOCATION
。
完成此操作后,只需以下操作
<?php use Igrejanet\Badges\Contracts\BadgeContract as Badges; use Igrejanet\Badges\Contracts\MembersContract as Members; use Igrejanet\Badges\Person\Company; class UserController extends Controller { protected $badges; protected $members; public function __construct(Badges $badges, Members $members) { $this->badges = $badges; $this->members = $members; } public function genBadges() { $foto ='img/matheus.jpg'; $this->members->add( new Person('Matheus', 'Analista', 8364, $foto, ['RG' => 'MG 11.111.111']) ); $this->members->add( new Person('Lopes', 'DBA', 8399, $foto, ['RG' => 'MG 14.131.121', 'CPF' => '101.384.146-88', 'Cargo' => 'DBA']) ); $logo = 'img/logo.png'; $type = 'Carteira de Identificação Ministerial'; $companyInfo = [ 'II Igreja de Deus do Avivamento Bíblico', 'Rua G, 336 - Vila Campos - Montes Claros - MG', 'Tel.: (38)4009-5777 - idabmoc@gmail.com.br - http://idabmoc.com' ]; $cardInfo = [ 'Uso exclusivo para identificação ministerial', 'Esta carteira é pessoal e intransferível', 'Válida somente enquanto o usuário estiver regularmente registrado' ]; $company = new Company($logo, $type, $companyInfo, $cardInfo); return $this->badges ->setMembers($this->members) ->setCompany($company) ->generate(); } }
两种选项都会返回一个 PDF 文件。您可以在 examples
目录中查看可用的使用示例。要执行示例,请运行
$ php -S 127.0.0.1:8000 -t examples