Чому я створив пакет кодування для Laravel, якого не зміг знайти ніде більше

pic

В одному з моїх проектів на Laravel я зіткнувся з проблемою:

Мені потрібно було ефективно кодувати та декодувати рядки. Спочатку я звернувся до вбудованих функцій Laravel encrypt та decrypt. Вони працювали, але закодовані рядки виходили занадто довгими та не підходили для мого випадку — це робило URL-запити незручними та непридатними для зручного обміну.

Тоді я спробував використовувати кодування Base64. Це наближалося до того, що мені було потрібно, але зробити його безпечним для URL додавало зайву складність. Розчарувавшись у відсутності універсального рішення, я зрозумів, що немає простого пакету для кодування ідентифікаторів та рядків із налаштовуваним та безпечним для URL підходом.

Тому я вирішив створити його самостійно.

Те, що почалося як інструмент лише для Laravel, швидко перетворилося на самостійний пакет, який можна використовувати в будь-якому PHP-проекті. Цей пакет пропонує:

- Простий та безпечний механізм кодування/декодування.
- Вбудована підтримка безпечного для URL кодування Base62.
- Можливість налаштування для додавання інших схем кодування, таких як Base58, Base64 або навіть власних.
- Цей пакет ідеально підходить для створення безпечних для URL токенів, кодування ідентифікаторів бази даних або будь-яких сценаріїв, де необхідне легке та безпечне кодування.

Цей пакет заповнює прогалину для розробників, яким потрібно легке, але потужне рішення для кодування та декодування рядків і ідентифікаторів у їхніх проектах.

Встановіть пакет за допомогою Composer:

composer require nassiry/laravel-encoder

Використання в Laravel

use Nassiry\Encoder\Facades\Encoder;  
// Кодування та декодування ідентифікаторів  
$encodedId = Encoder::encodeId(12345, 4);  
$decodedId = Encoder::decodeId($encodedId);  
// Кодування та декодування рядків  
$encodedString = Encoder::encodeString('Hello World');  
$decodedString = Encoder::decodeString($encodedString);

Використання без Laravel

require __DIR__ . '/vendor/autoload.php';  
use Nassiry\Encoder\Encoder;  
// Створіть екземпляр кодувальника  
$encoder = new Encoder();  
// Кодуйте ідентифікатор  
$encodedId = $encoder->encodeId(12345, 4);  
echo "Encoded ID: $encodedId\n"; // Приклад виводу: 9FNp  
// Декодуйте закодований ідентифікатор  
$decodedId = $encoder->decodeId($encodedId);  
echo "Decoded ID: $decodedId\n"; // Вивід: 12345

Сподіваюся, цей пакет допоможе вам спростити процес кодування так само, як це допомогло мені.

Не соромтеся поділитися своїми відгуками або зробити внесок у проект на GitHub!

Для більше інформації та прикладів зверніться до репозиторію GitHub
pic

В одному з моїх проектів на Laravel я зіткнувся з проблемою:

Мені потрібно було ефективно кодувати та декодувати рядки. Спочатку я звернувся до вбудованих функцій Laravel encrypt та decrypt. Вони працювали, але закодовані рядки виявилися занадто довгими й непідходящими для мого випадку, що робило URL-запити незручними та непридатними для обміну.

Тоді я спробував використати кодування Base64. Це було ближче до того, що мені потрібно, але зробити його безпечним для URL додавало зайву складність. Розчарувавшись через відсутність універсального рішення, я зрозумів, що не існує простого пакету для кодування ідентифікаторів та рядків із налаштовуваним та безпечним для URL підходом.

Тому я вирішив створити його самостійно.

Те, що почалося як інструмент лише для Laravel, швидко перетворилося на самостійний пакет, який можна використовувати в будь-якому PHP-проекті. Цей пакет пропонує:

- Простий та безпечний механізм кодування/декодування.
- Вбудована підтримка безпечного для URL кодування Base62.
- Можливість налаштування для додавання інших схем кодування, таких як Base58, Base64 або навіть ваших власних.
- Цей пакет ідеально підходить для створення безпечних для URL токенів, кодування ідентифікаторів бази даних або будь-яких сценаріїв, де потрібне легке та безпечне кодування.

Цей пакет заповнює прогалину для розробників, які шукають легке, але потужне рішення для кодування та декодування рядків і ідентифікаторів у своїх проектах.

Встановіть пакет за допомогою Composer:

composer require nassiry/laravel-encoder

Використання в Laravel

use Nassiry\Encoder\Facades\Encoder;  
// Кодування та декодування ідентифікаторів  
$encodedId = Encoder::encodeId(12345, 4);  
$decodedId = Encoder::decodeId($encodedId);  
// Кодування та декодування рядків  
$encodedString = Encoder::encodeString('Hello World');  
$decodedString = Encoder::decodeString($encodedString);

Використання без Laravel

require __DIR__ . '/vendor/autoload.php';  
use Nassiry\Encoder\Encoder;  
// Створіть екземпляр кодувальника  
$encoder = new Encoder();  
// Кодуйте ідентифікатор  
$encodedId = $encoder->encodeId(12345, 4);  
echo "Encoded ID: $encodedId\n"; // Приклад виводу: 9FNp  
// Декодуйте закодований ідентифікатор  
$decodedId = $encoder->decodeId($encodedId);  
echo "Decoded ID: $decodedId\n"; // Вивід: 12345

Сподіваюся, цей пакет допоможе вам спростити процес кодування так само, як це допомогло мені.

Не соромтеся поділитися своїми відгуками або зробити внесок у проект на GitHub!

Для більше інформації та прикладів зверніться до репозиторію GitHub

Перекладено з: Why I Built the Laravel Encoding Package I Couldn’t Find Anywhere Else

Leave a Reply

Your email address will not be published. Required fields are marked *