首页 >后端开发 >php教程 >为什么我构建了在其他地方找不到的 Laravel 编码包

为什么我构建了在其他地方找不到的 Laravel 编码包

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-05 12:02:40715浏览

Why I Built the Laravel Encoding Package I Couldn’t Find Anywhere Else

在我的一个 Laravel 项目中,我遇到了一个挑战:

我需要有效地编码和解码字符串。最初,我转向 Laravel 内置的加密和解密函数。当他们工作时,编码的字符串太长并且不适合我的用例,使得 URL 变得混乱并且不适合共享..

然后我尝试了Base64编码。它更接近我所需要的,但使其 URL 安全增加了不必要的复杂性。由于缺乏一体化解决方案而感到沮丧,我意识到没有一个简单的包可以使用可定制且 URL 安全的方法来编码 ID 和字符串。

所以,我决定创建一个。

最初是一个 Laravel 专用工具,很快就发展成为一个独立的包,能够在任何 PHP 项目中使用。此套餐提供:

  • 简单安全的编码/解码机制。
  • 内置支持 URL 安全 Base62 编码。
  • 可自定义添加更多编码方案,例如 Base58、Base64,甚至您自己的。
  • 此包非常适合创建 URL 安全令牌、编码数据库 ID 或任何需要轻量级安全编码的场景。

此软件包为需要轻量级但功能强大的解决方案来编码和解码项目中的字符串和 ID 的开发人员提供了桥梁。

使用 Composer 安装软件包:

composer require nassiry/laravel-encoder

Laravel 用法

use Nassiry\Encoder\Facades\Encoder;

// Encode and Decode IDs
$encodedId = Encoder::encodeId(12345, 4);
$decodedId = Encoder::decodeId($encodedId);

// Encode and Decode Strings
$encodedString = Encoder::encodeString('Hello World');
$decodedString = Encoder::decodeString($encodedString);

独立使用

require __DIR__ . '/vendor/autoload.php';

use Nassiry\Encoder\Encoder;

// Create an encoder instance
$encoder = new Encoder();

// Encode an ID
$encodedId = $encoder->encodeId(12345, 4);
echo "Encoded ID: $encodedId\n"; // Example output: 9FNp

// Decode the encoded ID
$decodedId = $encoder->decodeId($encodedId);
echo "Decoded ID: $decodedId\n"; // Output: 12345

我希望这个包能像我一样帮助简化您的编码需求。
请随时在 GitHub 上分享您的反馈或为该项目做出贡献!

有关更多信息和示例,请参阅 GitHub 存储库。

以上是为什么我构建了在其他地方找不到的 Laravel 编码包的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn