canducci/quickresponse

Canducci QuickResponse

v0.0.1 2015-11-25 01:02 UTC

This package is auto-updated.

Last update: 2024-08-26 19:34:41 UTC


README

####PHP QR Code 版本 (1.1.4)

PHP QR Code - 网站 http://sourceforge.net/projects/phpqrcode/

这是基于 Kentaro Fukuchi 的 C libqrencode 库实现的 PHP QR Code 二维条码生成器。这是一个基于 LGPL 许可的纯 PHP 实现。

许可协议

版权 (C) 2010 by Dominik Dzienia

这个库是自由软件,你可以根据自由软件基金会发布的 GNU Lesser General Public License 的条款重新分发和/或修改它;无论是许可的第三版还是之后的任何版本。

这个库分发时希望它是有用的,但没有任何保证;甚至没有关于其适销性或特定用途适用性的暗示保证。有关更多详细信息,请参阅 GNU Lesser General Public License(LICENSE 文件)。

你应该已经收到了这个库的 GNU Lesser General Public License 的副本;如果没有,请写信给自由软件基金会,Inc.,51 Franklin St,Fifth Floor,Boston,MA 02110-1301 USA

== 安装和用法 ==

== 联系 ==

请通过电子邮件(deltalab at poczta dot fm)或使用以下项目页面联系我

== 致谢 ==

基于 C libqrencode 库(版本 3.1.1),版权 (C) 2006-2010 by Kentaro Fukuchi http://megaui.net/fukuchi/works/qrencode/index.en.html

QR Code 是 DENSO WAVE INCORPORATED 在日本和其他国家的注册商标。

Reed-Solomon 码编码器由 Phil Karn,KA9Q 编写。版权 (C) 2002,2003,2004,2006 Phil Karn,KA9Q

Canducci QuickResponse

QR Code

Canducci QuickResponse

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

安装

配置

对于 Laravel 应用程序,请按照以下方式配置

在您的 composer.json 中添加此密钥

"canducci/quickresponse": "0.0.1"

现在在您的控制台执行此命令

$ composer update

####Laravel

打开文件 config/app.php 并将其添加到您的 providers 配置中

'providers' => [
    ...    
    Canducci\QuickResponse\Providers\QuickResponseProvider::class,
    
]

为了使别名(外观)工作,请将其添加到您的 aliases 配置中

'aliases' => [

    ...
    'QuickResponse' => Canducci\QuickResponse\Facades\QuickResponse::class
    
]

####方法

接收一个 interface 消息

public function data(IMessageType $message)

渲染图像并直接在浏览器中显示

public function render($level = QuickResponseLevel::L, $pixel = QuickResponsePixel::Three, 
                $frame = QuickResponseFrameSize::Two)

创建图像并将其保存到磁盘的 .png 格式

public function saveAs($path, $level = QuickResponseLevel::L, $pixel = QuickResponsePixel::Three, 
                $frame = QuickResponseFrameSize::Two)

####方法顺序

1 - Passe a interface `IMessateType` no método `data($msg)`.
2 - Depois utilize `render()` ou `saveAs()`.
3 - Sequencia: (Exemplo)    
    $msg = new \Canducci\QuickResponse\MessageText($name); 
    QuickResponse::data($msg)->saveAs('q/text.png');

注意: 方法 rendersaveAs 已经按标准格式化,可以自由地进行新的配置。

####在 Laravel 中使用

对于文本或链接

$name = "test";
$msg = new \Canducci\QuickResponse\MessageText($name); 
//Facade 
QuickResponse::data($msg)->saveAs('q/text.png');
//Instância
$qr = new Canducci\QuickResponse\QuickResponse();
$qr->data($msg)->saveAs('q/text.png');

对于电话

$msg = new \Canducci\QuickResponse\MessagePhone(55,11,1111111);    
QuickResponse::data($msg)->saveAs('q/phone.png');

对于 SMS

$msg = new \Canducci\QuickResponse\MessageSMS(55,11,11111111);    
QuickResponse::data($msg)->saveAs('q/sms.png');    	

对于简单电子邮件

$msg = new \Canducci\QuickResponse\MessageSimpleEmail('test@test.com');    
QuickResponse::data($msg)->saveAs('q/emailsimple.png');

对于完整电子邮件

$msg = new \Canducci\QuickResponse\MessageExtendedEmail('test@test.com', 'Test', 'Test Complete');    
QuickResponse::data($msg)->saveAs('q/email.png');

对于 Skype

$msg = new \Canducci\QuickResponse\MessageSkype('test@test.com');    
QuickResponse::data($msg)->saveAs('q/skype.png');

简单名片

$people = messagePeople('Test');
$phone = messagePhone(55,11,11111111);
$msg = messageBusinessCardSimple($people, $phone);
QuickResponse::data($msg)->saveAs('q/cardsimple.png');

完整名片

$people = messagePeople('Test');
$phone = messagePhone(55,11,11111111);
$phone1 = messagePhone(55,18,32695189);
$phone2 = messagePhone(55,18,32695189);
$address = messageAddress('Office', '','Home','Rua, 001','Sao Paulo','SP','04500000','Brasil');
$msg = messageBusinessCardDetailed($people,$phone,$phone1,$phone2,'sobre1;test1','Home Office','dt@dt.com', $address);
QuickResponse::data($msg)->saveAs('q/carsdetailed.png');

带有照片的简单名片

$people = messagePeople('Test');
$phone = messagePhone(55,11,11111111);
$msg = messageBusinessCardPhoto($people, $phone, file_get_contents('40x40.jpg'));
QuickResponse::data($msg)->saveAs('q/carsphoto.png');

####辅助工具

$msg = messageText('Test Laravel');
  • 保存
qrSaveAs($msg, 't.png');
//ou
quickresponse()->data($msg)->saveAs('1.png');
//ou
QuickResponse::data($msg)->saveAs('1.png');
    
  • 渲染
return qrRender($msg); 
//ou
return quickresponse()->data($msg)->render();
//ou
return QuickResponse::data($msg)->render();
	

更多辅助工具

function messageText($text); 
    return new MessageText
    
function messagePeople($name);
    return new MessagePeople
    
function messageAddress($label, $pobox, $ext, $street, $town, $region, $postcode, $country);
    return new MessageAddress
    
function messageSkype($name);
    return new MessageSkype
     
function messagePhone($country,$area,$number);
    return new MessagePhone
    
function messageSMS($country,$area, $number);
    return new MessageSMS
    
function messageSimpleEmail($email);
    return new MessageSimpleEmail
    
function messageExtendedEmail($email, $subject, $body);
    return new MessageExtendedEmail
    
function messageBusinessCardSimple(IMessagePeople $people, IMessagePhone $phone);
    return new MessageBusinessCardSimple
    
function messageBusinessCardDetailed(IMessagePeople $people, IMessagePhone $phone, IMessagePhone $phoneprivate, 
                IMessagePhone $phonecelular,$sortName, $orgName, $email, IMessageAddress $address)
    return new MessageBusinessCardDetailed
    
function messageBusinessCardPhoto(IMessagePeople $people, IMessagePhone $phone, $photo);
    return new MessageBusinessCardPhoto

####直接在浏览器中

路由

get('print', function()
{
    $msg = messageText('https://packagist.org.cn/packages/canducci/quickresponse');
    //Facade
    return QuickResponse::data($msg)
            ->render();
});

视图

<div>
    <img src="/print" border="0" />
</div>

####注意: 此包在没有框架 Laravel 的情况下也能完美工作

创建一个如下格式的 composer.json

{    
    "require": {     
        "canducci/quickresponse":"0.0.1"   
    }
}

运行命令 $ composer update,安装完成后,使用如下方式

<?php

    require 'vendor/autoload.php';
        
    //Instância
    $msg = new Canducci\QuickResponse\MessageText('Test');
    
    //Instância
    $qr = new Canducci\QuickResponse\QuickResponse();
    
    echo $qr->data($msg)->render(); // saída imagem
    
    //OU
    
    $qr->data($msg)->saveAs('path_da_pasta_nome_imagem'); // Exemplo: q/1.png