larareko/aws-rekognition

Laravel 包用于 AWS Rekognition

v0.1 2017-04-26 03:18 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:23:51 UTC


README

Rekognition API PHP SDK 的 Laravel 包/facade。

此存储库实现了 AWS Rekognition 客户端的简单 Service Provider,并通过 Laravel >= 5 的 Facade 使其易于访问。

有关更多信息,请参阅 AWS Rekognition

要求

AWS 创建账户并记录您的 API 密钥。

使用 Composer 安装

在终端应用程序中,使用 cd 命令切换到您 laravel 项目的根目录,然后使用 composer 将项目作为依赖项。

composer require larareko/aws-rekognition

这将在您的 composer.json 中添加以下行,并将项目及其依赖项下载到您的 projects ./vendor 目录

// 

./composer.json
{
    "name": "larareko/larareko-demo",
    "description": "A dummy project used to test the Laravel Larareko (AWS Rekognition) Facade.",

    // ...

    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.2.*",
        "larareko/aws-rekognition": "0.1*",
        // ...
    },

    //...
}

用法

为了使用静态接口,我们必须自定义应用程序配置,以便告诉系统它可以在何处找到新的服务。打开文件 config/app.php 并添加以下行 ([a],[b])

// config/app.php

return [

    // ...

    'providers' => [

        // ...

        /*
         * Package Service Providers...
         */
        Larareko\Rekognition\RekognitionServiceProvider::class, // [a]

        /*
         * Application Service Providers...
         */
        App\Providers\AppServiceProvider::class,
        App\Providers\AuthServiceProvider::class,
        App\Providers\EventServiceProvider::class,
        App\Providers\RouteServiceProvider::class,

    ],

    // ...

    'aliases' => [

        'App' => Illuminate\Support\Facades\App::class,
        'Artisan' => Illuminate\Support\Facades\Artisan::class,

        // ...

        'Rekognition' => 'Larareko\Rekognition\RekognitionFacade', // [b]
        'Hash' => Illuminate\Support\Facades\Hash::class,

        // ...
    ],

];

发布供应商

aws-rekognition 需要一个连接配置。要开始,您需要运行以下命令发布所有供应商资产

php artisan vendor:publish

这将在您的 app 中创建一个 config/rekognition.php 文件,您可以根据需要修改该文件以设置配置。确保在升级后检查与原始配置文件相比的变化。

现在,您应该可以在应用程序中使用 facade。例如

class LabelDetectionImage extends Model
{
    /**
     * Upload image to S3
     *
     * @param Illuminate\Http\UploadedFile  $file
     *
     * @return string
     */
    public function upload(UploadedFile $file) : string
    {
        $name = time() . $file->getClientOriginalName();
        
        \Rekognition::uploadImageToS3(file_get_contents($file), null, self::BUCKET, $name);
        
        return $name;
    }
}

测试

单元测试使用 PHPunit 和 orchestra/testbench 创建,可以使用 ./vendor/bin/phpunit 运行。

贡献

找到一个您可以帮忙的区域并开始。开源是关于协作和开放参与的。尽量使您的代码看起来像现有代码或更好,并提交拉取请求。此外,如果您有任何关于如何改进代码或提高范围和功能的想法,请联系任何贡献者。

许可证

MIT 许可证。