Luminova Framework

Interface Classes

Last updated: 2024-05-20 01:15:17

A clear communication between different components is crucial for building robust and maintainable systems.

These classes serve as the cornerstone for defining clear contracts, ensuring seamless integration, and implementation across various parts of the application. By establishing well-defined interfaces.



This Interface serves as a base interface for custom exception classes. It provides a common contract for exception handling and logging errors throughout the application.



This interface serves to specify the type of controller class used in router, in other to properly handle error controllers, all error handling controller class must implement ErrorHandlerInterface.



Interface for managing HTTP client-side cookies, offering methods to create, read, update, and delete cookies.



Interface for database drivers, providing methods for establishing and managing database connections, preparing and executing SQL statements, and fetching query results. This interface serves as a contract for implementing various database drivers.



This interface serves to specify the type of database connection class used, such as PDO or MYSQLI. Instead of directly using class names, we create a unique interface that both database connection objects extend. This promotes flexibility and abstraction in code design, allowing for interchangeable implementations while adhering to a common interface.



Interface for encryption and decryption drivers, defining methods for encrypting data with various cryptographic algorithms and keys, as well as decrypting encrypted data.



Interface for HTTP clients drivers such as Guzzle and Curl, defining methods to send a network request and manipulate response .



Interface for HTTP network manager, providing methods for establishing network requests, asynchronous requests, sending and receiving data over the network using different types of HTTP methods, and handling network-related errors.



Interface for mail clients, outlining methods for composing and sending emails, managing email attachments, specifying recipients and sender addresses, and configuring email delivery options.



Interface for defining application services, specifying methods for initializing, configuring, and managing various services of your business logics.



Interface for managing user sessions storage drivers, it offers methods for storing and retrieving session data, and managing session expiration and persistence.



Interface for validating user submitted input data against predefined rules, providing methods for defining validation rules, applying rules to input data, and retrieving validation results. This interface helps ensure data integrity and enforce data validation constraints in applications.



The interface for creating AIs models, currently only OpenAI ChatGPT has been implemented.