lhcze/fqcn-stripper

Utility for extracting and formatting FQCN base names with string transformation support.

1.0.0 2025-05-26 08:36 UTC

This package is auto-updated.

Last update: 2025-05-26 09:12:32 UTC


README

FQCN Stripper is a small and flexible PHP 8.3+ utility for extracting and formatting the base class name from a Fully-Qualified Class Name (FQCN).

It supports string transformations like lowercase, UPPERCASE, and Ucfirst β€” with optional multibyte-safe handling (via mbstring).

πŸš€ Features

  • Extracts base class name from a fully-qualified name
  • Bitmask modifiers for string formatting:
    • LOWER β€” lowercased
    • UC β€” ucfirst
    • UPPER β€” fully uppercased
    • LOW_UC β€” lower + ucfirst
    • MULTIBYTE β€” applies transformations using mb_ functions
  • Supports both strings and objects
  • Caches internally for performance
  • Simple API for batch processing

πŸ› οΈ Requirements

  • PHP 8.3+
  • Optional: mbstring extension (for MULTIBYTE)

πŸ“¦ Installation

composer require lhcze/fqcn-stripper

βœ… Usage

use Lhcze\FqcnStripper\FqcnStripper;

FqcnStripper::strip('App\\Entity\\User'); // "User"
FqcnStripper::strip('App\\Entity\\User', FqcnStripper::LOWER); // "user"
FqcnStripper::strip('App\\Entity\\User', FqcnStripper::LOW_UC); // "User"
FqcnStripper::strip('App\\Entity\\User', FqcnStripper::UPPER); // "USER"
FqcnStripper::strip('App\\Entity\\Üser', FqcnStripper::LOW_UC | FqcnStripper::MULTIBYTE); // "Üser"
$object = new \App\Entity\User();
FqcnStripper::strip($object, FqcnStripper::LOWER); // "user"
FqcnStripper::strip('App\\WeirdObjects\\UserHandlerDtoEvent', FqcnStripper::TRIM_POSTFIX) // User

πŸ” Batch usage

$list = [
    'App\\Model\\CustomerModel',
    'App\\Entity\\OrderEntity',
    'App\\Controller\\Admin\\DashboardController',
];

FqcnStripper::stripThemAll($list, FqcnStripper::LOW_UC | FqcnStripper::TRIM_POSTFIX);
// ["Customer", "Order", "Dashboard"]

πŸ§ͺ Code Quality & Local Development

Tools & Standards

Command Standards Description
composer phpunit N/A Run PHPUnit tests
composer cs PSR12 Check code style (dry-run)
composer cs-fix PSR12 Auto-fix coding standards
composer phpstan Level 9 Run static analysis (PHPStan)
composer check N/A Runs all checks at once

Install dependencies and run QA tools:

composer install
composer check