PHP code example of quellabs / support

1. Go to this page and download the library: Download quellabs/support library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

quellabs / support example snippets


// Simple variable dumping (like Laravel's dump())
d($user, $request->all(), $config);

// Dump and die (enhanced version of Laravel's dd())
dd($user, $request->all(), $config);

use Quellabs\Support\CanvasDebugger;

// Equivalent to d($data, $moreData)
CanvasDebugger::dump($data, $moreData);

// Equivalent to dd($criticalData) 
CanvasDebugger::dumpAndDie($criticalData);

// Direct usage in classes where global functions might conflict
class MyDebugger {
    public function debug($data) {
        CanvasDebugger::dump($data);
    }
}

use Quellabs\Support\ComposerUtils;

// Find project root directory
$projectRoot = ComposerUtils::getProjectRoot();

// Find vendor (composer) directory
$projectRoot = ComposerUtils::getVendorDirectory();

// Get composer.json file path
$composerJson = ComposerUtils::getComposerJsonFilePath();

// Resolve namespace from directory path
$namespace = ComposerUtils::resolveNamespaceFromPath('/path/to/src/Models');
// Returns: "App\Models"

// Find all classes in a directory
$classes = ComposerUtils::findClassesInDirectory('/path/to/controllers');
// Returns: ["App\Controllers\UserController", "App\Controllers\PostController"]

// Normalize file paths
$normalizedPath = ComposerUtils::normalizePath('some/../complex/./path');
// Returns: "complex/path"

use Quellabs\Support\NamespaceResolver;

// Resolve class name based on current context
$resolvedClass = NamespaceResolver::resolveClassName('User');
// Returns: "App\Models\User" (based on use statements and current namespace)

// Resolve with specific context
$reflection = new ReflectionClass('App\Services\UserService');
$resolvedClass = NamespaceResolver::resolveClassName('User', $reflection);

use Quellabs\Support\FrameworkResolver;

$framework = FrameworkResolver::detect();
// Returns: 'laravel', 'symfony', 'canvas', 'cakephp', etc.

use Quellabs\Support\ContextResolver;

$context = ContextResolver::getCallingContext();
// Returns: ['file' => '...', 'class' => '...', 'function' => '...', 'line' => ...]

use Quellabs\Support\StringInflector;

// Pluralization
echo StringInflector::pluralize('user');     // "users"
echo StringInflector::pluralize('child');    // "children"
echo StringInflector::pluralize('person');   // "people"

// Singularization
echo StringInflector::singularize('users');     // "user"
echo StringInflector::singularize('children');  // "child"
echo StringInflector::singularize('people');    // "person"

// Form checking
StringInflector::isPlural('users');    // true
StringInflector::isSingular('user');   // true

use Quellabs\Support\UseStatementParser;

$reflection = new ReflectionClass('App\Services\UserService');
$imports = UseStatementParser::getImportsForClass($reflection);
// Returns: ['User' => 'App\Models\User', 'Request' => 'Illuminate\Http\Request']

use Quellabs\Support\Tools;

// Get client IP address with proxy support
$ip = Tools::getIPAddress();
// Returns: "192.168.1.100" or null if no valid IP found

// Generate a new GUID/UUID
$guid = Tools::createUUIDv4();
$guid = Tools::createUUIDv7();
// Returns: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

// Returns the GUID/UUID version (1-8)
$guid = Tools::getUUIDVersion("a1b2c3d4-e5f6-7890-abcd-ef1234567890");

// Validate GUID format
$isValid = Tools::validateUUID('a1b2c3d4-e5f6-7890-abcd-ef1234567890');
// Returns: true

$isValid = Tools::validateUUID('invalid-guid');
// Returns: false

// Returns timestamp component of UUID7
$timestamp = Tools::getUUIDv7Timestamp("a1b2c3d4-e5f6-7890-abcd-ef1234567890");

// Converts the timestamp produced by getUUIDv7Timestamp to DateTimeImmutable
$datetime = Tools::uuidV7TimestampToDateTime(...);

// Gets the length of the longest value in an enum.
// For backed enums, measures the value length.
// For pure enums, measures the name length.
$length = Tools::getMaxEnumValueLength(enumClass);