Support/Types Classes
The Support/Types namespace provides enhanced type utility classes that extend Laravel's base functionality with additional methods tailored for common development scenarios.
Str Class
The Str
class extends Laravel's Illuminate\Support\Str
class, providing all base Laravel string functionality plus additional utility methods.
Purpose
Enhanced string manipulation operations beyond Laravel's base functionality, with a focus on formatting, validation, and type-safe conversions.
Key Methods
Basic Utilities
guid()
- Generates a UUID as a stringempty()
- Returns an empty string constantspace()
- Returns a single space charactertoString(mixed $value)
- Performs type-safe string conversion
Text Formatting
maxLength(string $value, ?int $length = null)
- Truncates strings to maximum length (default: 100 characters)conjunctions(string $value)
- Formats conjunctions by converting "And" → "and", "Or" → "or", "Of" → "of"formattedTitleCase(string $value)
- Applies title case while removing underscores and formatting conjunctions
Usage Scenarios
- String truncation with consistent length limits
- Text formatting for display purposes
- Title case formatting with proper conjunction handling
- UUID generation for unique identifiers
- Type-safe string conversions
Arr Class
The Arr
class extends Laravel's Illuminate\Support\Arr
class, providing all base Laravel array functionality plus advanced manipulation methods.
Purpose
Advanced array operations that maintain array structure integrity while providing powerful manipulation capabilities.
Key Methods
Basic Utilities
empty()
- Returns an empty array constant
Array Manipulation
renameKey(array $array, string $oldKey, string $newKey)
- Renames an array key while preserving the original order of elementsaddAfter(array $array, string $afterKey, string $newKey, mixed $newValue)
- Inserts a new key-value pair after a specified existing key
Usage Scenarios
- Maintaining array order during key modifications
- Dynamic array structure manipulation
- Form field reordering and insertion
- Configuration array modifications
Number Class
The Number
class extends Laravel's Illuminate\Support\Number
class, providing all base Laravel number functionality plus type-safe validation and conversion methods.
Purpose
Safe number operations with built-in validation to prevent type conversion errors and ensure data integrity.
Key Methods
Type Conversion
toInt(mixed $value)
- Performs type-safe integer conversionvalidate(mixed $value)
- Validates whether a value can be safely converted to an integer
Usage Scenarios
- Safe type conversion in user input processing
- Data validation before mathematical operations
- Form input sanitization
- API data type validation
Common Patterns
Inheritance Strategy
All Support/Types classes extend their Laravel counterparts, meaning you get:
- All existing Laravel functionality
- Additional stdlib-specific methods
- Seamless integration with existing Laravel code
- Drop-in replacement capability
Type Safety
These classes emphasize type safety by:
- Providing validation methods before conversions
- Using nullable return types where appropriate
- Throwing appropriate exceptions for invalid operations
- Maintaining consistent behavior across different input types
Performance Considerations
- Built on top of Laravel's optimized implementations
- Additional methods maintain Laravel's performance characteristics
- String operations use efficient PHP built-in functions
- Array operations preserve memory efficiency where possible