Features
Introduction
Sukarix builds upon the robust and lightweight foundation of the Fat-Free Framework (F3), a micro-framework known for its efficiency and simplicity. We have retained the best features of F3 where it excels, ensuring a solid, stable, and high-performance core. At the same time, we have integrated or replaced certain components with more powerful and feature-rich libraries to make Sukarix enterprise-ready. These enhancements provide additional functionality, improve scalability, and offer a more comprehensive development experience for building complex, modern PHP applications.
Feature List
| Feature Name | F3 Native | Sukarix Replacement (Library) |
|---|---|---|
| Fast and clean template engine | Yes | - |
| Unit testing toolkit (Web UI & CLI) | Yes | Statera |
| Database-managed sessions | Yes | - |
| Markdown-to-HTML converter | Yes | - |
| Atom/RSS feed reader | Yes | - |
| Image processor | Yes | - |
| Geodata handler | Yes | - |
| On-the-fly Javascript/CSS compressor | Yes | Matthias Mullie Minify |
| OpenID (consumer) | Yes | - |
| Custom logger | Yes | Monolog |
| Basket/Shopping cart | Yes | - |
| Pingback server/consumer | Yes | - |
| Unicode-aware string functions | Yes | - |
| SMTP over SSL/TLS | Yes | F3 Mailer |
| Tools for communicating with other servers | Yes | - |
| Data Validation | Yes | Sukarix extends F3 |
| ORM | - | F3 Cortex |
| ACL | - | F3 Access |
| Multi-language | - | F3 Multilang |
| Event Dispatching | - | F3 Events |
| Messages to chat platforms | - | Sukarix Notifier (Zulip) |
| Database Migrations | - | Phinx |
| Debugging & Global Event Catching | - | Tracy |
| Cron job scheduler | - | peppeocchi/php-cron-scheduler |
| Queues | - | Sukarix (Redis) |
| Dependency Injection | - | Sukarix |
| Inversion of Control | - | Sukarix |
| Bash tool | - | Sukarix (coming…) |
Description of Features
- Fast and clean template engine: Provides a lightweight and efficient templating system that allows for easy creation of dynamic web pages.
- Unit testing toolkit (Web UI & CLI): Integrated tools for unit testing both web interfaces and command-line
interfaces, ensuring comprehensive code coverage and reliability. Statera is the Sukarix
testing kit built on top of the Fat-Free Framework’s
Testclass. It is an optional, standalone package — the framework itself uses it viarequire-devfor its own test suite. - Database-managed sessions: Manages user sessions through the database, enhancing security and scalability.
- Markdown-to-HTML converter: Converts Markdown syntax into HTML, facilitating easy content creation and management.
- Atom/RSS feed reader: Parses and reads Atom and RSS feeds, allowing for integration with external content sources.
- Image processor: Handles image manipulation tasks such as resizing, cropping, and format conversion.
- Geodata handler: Manages geographical data, enabling features such as location-based services and mapping.
- On-the-fly Javascript/CSS compressor: Minifies JavaScript and CSS files on the fly to improve page load times and performance.
- OpenID (consumer): Supports OpenID authentication, allowing users to log in using their existing OpenID accounts.
- Custom logger: Enhanced logging capabilities using Monolog, providing flexible and powerful logging options.
- Basket/Shopping cart: Manages e-commerce functionalities such as shopping carts and order processing.
- Pingback server/consumer: Implements pingback functionality for communication between blogs and websites.
- Unicode-aware string functions: Handles string operations with full Unicode support, ensuring compatibility with multiple languages and character sets.
- SMTP over SSL/TLS: Securely sends emails using SMTP with SSL/TLS encryption, enhancing email security.
- Tools for communicating with other servers: Provides utilities for making HTTP requests and interacting with external APIs.
- Data Validation: Sukarix extends F3 to validate input data, ensuring it meets specified rules and constraints before processing.
- ORM: Uses F3 Cortex for object-relational mapping, simplifying database interactions.
- ACL: Manages access control using F3 Access, enforcing permissions and roles.
- Multi-language: Supports multiple languages using F3 Multilang, allowing for easy localisation of content and routes.
- Event Dispatching: Handles event management using F3 Events, allowing for flexible and decoupled event-driven architecture.
- Messages to chat platforms: Sends notifications to Zulip chat streams using the Sukarix Notifier, which uses F3’s
Webclass for HTTP requests — no external notification library required. - Database Migrations: Manages database schema changes using Phinx, ensuring smooth and controlled migrations.
- Debugging & Global Event Catching: Utilizes Tracy for debugging and catching global events, providing detailed error reports and insights.
- Cron job scheduler: Schedules and manages cron jobs using peppeocchi/php-cron-scheduler, automating repetitive tasks.
- Queues: A Redis-backed FIFO queue service with deduplication and per-item attempt tracking, for passing work between the stages of a pipeline.
- Dependency Injection: Facilitates dependency management using Sukarix’s own DI container, promoting loose coupling and testability.
- Inversion of Control: Implements IoC using Sukarix, ensuring modular and maintainable code.
- Bash tool: A forthcoming feature in Sukarix for creating and managing bash scripts, enhancing CLI capabilities.