abdullah-karam/laravel-svg

此包用于根据包含两个单词的任何字符串生成SVG,并提供一些美观的选项

v1.2.2 2024-03-14 19:04 UTC

README

Total Downloads Latest Version on Packagist

Laravel SVG

Laravel包,用于从用户的完整姓名或首字母生成SVG图像,并提供一些酷炫的自定义选项。

要求

  • 此包需要PHP 8.0或更高版本。

安装

您可以通过运行以下命令使用Composer安装此包

composer require abdullah-karam/laravel-svg

用法

示例(1)

要从用户的完整姓名生成SVG图像,您可以在LaravelSvg外观上使用svgFor()方法。该svgFor()方法接受一个参数,即用户的完整姓名。以下是如何使用svgFor()方法的示例

<?php

namespace App\Http\Controllers;

use Abdullah\LaravelSvg\Facades\LaravelSvg;
use App\Models\User;

class UserController extends Controller
{
    public function generateSvg(User $user)
    {
        $svgDetails = LaravelSvg::svgFor(words: $user->fullname)->generate(); 
        dd($svgDetails);
    }
}

这将生成一个带有用户首字母居中的SVG图像。

Abdullah Karam

array:6 [▼
  "name" => "64af002c8ba51.svg"
  "path" => "users/64af002c8ba51.svg"
  "full_path" => "http://:8000/storage/users/64af002c8ba51.svg"
  "mime_type" => "image/svg+xml"
  "size" => 422
  "disk" => "public"
]

示例(2)

您还可以使用LaravelSvg外观上的svgFor()方法从用户的首字母生成带有标志文本的SVG图像。该svgFor()方法接受一个参数,即用户的首字母,并使用方法logoText()进行链式调用。以下是如何使用的示例

<?php

namespace App\Http\Controllers;

use Abdullah\LaravelSvg\Facades\LaravelSvg;
use App\Models\User;

class UserController extends Controller
{
    public function generateSvg(User $user)
    {
        $svgDetails = LaravelSvg::svgFor(words: $user->fullname)
                                  ->logoText()->generate(); 
        dd($svgDetails);
    }
}

这将生成一个带有用户首字母居中和默认标志文本的SVG图像。如果您想更改标志文本,可以使用带有参数的logoText()方法,例如logoText('logo'),或者在一开始就在config/laravel-svg.php文件中定义它。

Abdullah Karam

array:6 [▼ 
  "name" => "64af03da5f35c.svg"
  "path" => "users/64af03da5f35c.svg"
  "full_path" => "http://:8000/storage/users/64af03da5f35c.svg"
  "mime_type" => "image/svg+xml"
  "size" => 414
  "disk" => "public"
]

配置

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Abdullah\LaravelSvg\LaravelSvgServiceProvider" --tag="config"

这是发布后的配置文件的内容

<?php

return [
    'folder' => 'storage', ## default folder name in public folder
    'default_logo_text' => 'logo', ## default logo text
    'logo_text_color' => '#000000',
    'avatar_text_color' => '#f1c40f',
    'avatar_background_color' => '#ffffff',
    'default_svg_path' => 'users', ## folder name will be created in public/{folder}/users
    'hash_svg_name' => true ## if you want to hash svg name by default true
];

您可以按需更改所有配置选项。

许可证

此包是开源软件,根据MIT许可证(MIT)许可。有关更多信息,请参阅许可证文件

联系

如果您有任何问题或反馈,请随时通过电子邮件abdallakaramdev@gmail.com联系我。