首页 > 文章列表 > 为什么我构建了在其他地方找不到的 Laravel 编码包

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

182 2025-01-12

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

Laravel项目中的编码难题及解决方案

在开发Laravel项目时,我遇到了一个棘手的字符串编码解码问题。Laravel内置的加密解密函数虽然可用,但生成的字符串过长,不适用于URL或共享场景。Base64编码虽然更简洁,但要使其URL安全则需要额外处理,不够便捷。 市场上也缺乏一个简单易用、可定制且URL安全的编码包。

因此,我决定自己动手创建一个。

最初只是为Laravel项目开发的一个工具,它很快演变成一个独立的PHP包,可在任何PHP项目中使用。该包提供以下功能:

  • 高效安全的编码/解码机制。
  • 内置支持URL安全的Base62编码。
  • 可扩展的编码方案: 支持Base58、Base64,甚至可以自定义添加更多编码方案。
  • 适用场景广泛: 非常适合创建URL安全令牌、编码数据库ID或任何需要轻量级安全编码的场景。

这个包为开发者提供了一个轻量级且强大的解决方案,用于编码和解码项目中的字符串和ID,填补了市场空白。

使用Composer安装:

composer require nassiry/laravel-encoder

Laravel项目用法

use nassiryencoderfacadesencoder;

// 编码和解码ID
$encodedid = encoder::encodeid(12345, 4);
$decodedid = encoder::decodeid($encodedid);

// 编码和解码字符串
$encodedstring = encoder::encodestring('hello world');
$decodedstring = encoder::decodestring($encodedstring);

独立PHP项目用法

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

use NassiryEncoderEncoder;

// 创建Encoder实例
$encoder = new Encoder();

// 编码ID
$encodedId = $encoder->encodeId(12345, 4);
echo "Encoded ID: $encodedIdn"; // 示例输出: 9FNp

// 解码ID
$decodedId = $encoder->decodeId($encodedId);
echo "Decoded ID: $decodedIdn"; // 输出: 12345

我希望这个包能像帮助我一样简化您的编码工作。

欢迎在GitHub上留下您的反馈或贡献代码!

更多信息和示例,请访问GitHub仓库。