A comprehensive PHP library and Symfony bundle that provides a collection of utilities, components, and integrations for modern Symfony applications. This ecosystem includes function libraries, development tools, Doctrine extensions, and real-time communication components.
- Utility Functions: 14+ function libraries covering date manipulation, text processing, web operations, and more
- Symfony Bundle: Automatic component discovery and configuration management
- Doctrine Integration: Enhanced ORM tools, schema management, and database utilities
- Real-time Communication: Server-Sent Events (SSE) component for live updates
- Development Tools: SPX profiler integration and build automation tools
- Modern PHP: Full PHP 8.4+ compatibility with promoted properties and modern syntax
- Framework Agnostic: Individual components work outside Symfony when needed
- PHP 8.4 or higher
- Symfony Framework (7.2.0 or higher)
- Doctrine ORM (4.0 or higher) for database components
- Various PHP Extensions: curl, json, random, xmlreader, zip
- Composer for dependency management
Install the complete Valksor ecosystem:
composer require valksor/php-valksorThis meta-package automatically includes:
- valksor/php-bundle - Symfony bundle with auto-discovery
- valksor/php-functions - All function libraries
- valksor/php-sse - Server-Sent Events component
- valksor/php-doctrine-tools - Doctrine enhancements
- valksor/php-spx-profiler - Performance profiler
- Register the bundle in your Symfony application:
<?php
// config/bundles.php
return [
// ...
Valksor\Bundle\ValksorBundle::class => ['all' => true],
// ...
];- Enable components with basic configuration:
# config/packages/valksor.yaml
valksor:
# Global bundle configuration
enabled: true
# Components are automatically discovered and can be configured individually
sse:
enabled: true
port: 8080<?php
require_once 'vendor/autoload.php';
use Valksor\Functions\Text\Functions;
use Valksor\Functions\Date\Functions;
// Text manipulation
$text = new Functions();
$camelCase = $text->camelCase('hello_world'); // "helloWorld"
// Date operations
$date = new Functions();
$formatted = $date->formatDate('2023-01-15', 'Y-m-d');<?php
use Valksor\Component\Sse\Service\SseService;
// In your controller
#[Route('/trigger-reload')]
public function triggerReload(SseService $sseService): Response
{
$sseService->broadcast(['type' => 'reload']);
return new Response('Reload triggered');
}- Complete Documentation - Full API documentation and examples
- Functions Documentation - All 14 function libraries
- Bundle Documentation - Symfony bundle configuration
- Component Documentation - SSE, DoctrineTools, and SpxProfiler
# config/packages/valksor.yaml
valksor:
# SSE Configuration
sse:
enabled: true
host: localhost
port: 8080
ping_interval: 30
max_connections: 100
# Individual components are auto-discovered
# Configure any component that implements Dependency interfaceEach function library can be installed individually:
# Install only specific function libraries
composer require valksor/php-functions-text
composer require valksor/php-functions-date
composer require valksor/php-functions-web<?php
require_once 'vendor/autoload.php';
// Use individual functions
use Valksor\Functions\Text\Functions;
use Valksor\Functions\Date\Functions;
use Valksor\Functions\Web\Functions;
$text = new Functions();
$date = new Functions();
$web = new Functions();
// Or use traits directly
class MyClass
{
use Valksor\Functions\Text\Traits\_CamelCase;
use Valksor\Functions\Date\Traits\_FormatDate;
}Enhanced Doctrine tools for schema management and migrations:
<?php
use Valksor\Component\DoctrineTools\Service\SchemaService;
// Automatic schema synchronization
$schemaService = new SchemaService($entityManager);
$schemaService->syncSchema();Contributions are welcome! Please read our Contributing Guidelines for details on:
- Code style requirements (PSR-12)
- Testing requirements for PRs
- One feature per pull request
- Development setup instructions
- Component development guidelines
To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add comprehensive tests
- Ensure all tests pass
- Submit a pull request
# Clone the repository
git clone https://github.com/valksor/php-valksor.git
cd php-valksor
# Install dependencies
composer install
# Run test suite
composer test
# Check code style
composer fix:check
composer fix:runIf you discover any security-related issues, please email us at security@valksor.dev instead of using the issue tracker.
For security policy and vulnerability reporting guidelines, please see our Security Policy.
- Documentation: Full documentation
- Issues: GitHub Issues for bug reports and feature requests
- Discussions: GitHub Discussions for questions and community support
- Stack Overflow: Use tag
valksor-php - Component-specific support: Each component has dedicated documentation and support channels
- Original Author - Creator and maintainer
- All Contributors - Thank you to all who contributed
- Symfony Project - Framework inspiration and many underlying components
- Doctrine Project - ORM and database tools inspiration
- PHP Community - Language and ecosystem support
This package is licensed under the BSD-3-Clause License.