Розумний парсинг і форматування імен у PHP-додатках

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 04 липня, 2025
Пакет Name of Person в PHP — це елегантне вирішення для обробки та форматування імен у ваших додатках. Долучайтеся до нашого огляду, щоб дізнатися, як ця бібліотека може покращити вашу роботу з іменами, а також забезпечити цілісність і простоту використання в рамках Laravel

Назва пакета – це PHP-бібліотека, яка черпає натхнення з Ruby gem name_of_person від Basecamp. Вона пропонує інтелектуальний парсинг та численні варіанти форматування.

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

use HosmelQ\NameOfPerson\PersonName;
 
// Пряма ініціалізація з ім'ям та прізвищем.
$name = new PersonName('Eric', 'Barnes');
 
// Парсинг з повного рядка імені.
$parsed = PersonName::fromFull('Yannick Lyn Fatt');
 
echo $parsed->first; // "Yannick"
echo $parsed->last;  // "Fatt"
 
// Обробка одного імені.
$single = PersonName::fromFull('Harris');
 
echo $single->first; // "Harris"
echo $single->last;  // null

Цей пакет також підтримує Laravel для кастування, яке ви можете використовувати у своїх моделях. Каст підтримує рядкову конфігурацію, а також методи флюентного стилю та JSON-серіалізацію:

use HosmelQ\NameOfPerson\PersonNameCast;
 
// Налаштування за замовчуванням - використовує стовпці first_name та last_name
class User extends Model
{
    protected function casts(): array
    {
        return [
            'name' => PersonNameCast::class,
        ];
    }
}
 
$user->name = 'Eric L. Barnes';
 
echo $user->name->familiar(); // "Eric B."
echo $name->initials(); // "ELB"
echo $name->possessive('first'); // Eric's
 
// Флюентне кастування
return [
    'author_name' => PersonNameCast::using('author_first', 'author_last'),
];

# Основні особливості

👩‍💻 Розпочніть з відвідування репозиторію на GitHub: hosmelq/name-of-person