lucinda/framework

Lucinda Framework 4.0: High performance, component-based PHP application skeleton

v4.1.11 2023-01-20 16:03 UTC

README

Lucinda Framework 4.0 is an ultra high performance web application skeleton developed with simplicity and modularity at its foundation. In order to fulfil these goals, it functions as an XML-based contract of 24 completely independent APIs, each designed for a particular aspect of a web application's logic:

diagram

APIs that take part in this dance are:

API Description
Abstract MVC API handles any type of requests into responses using MVC paradigm
STDOUT MVC API handles HTTP requests into responses on top of Abstract MVC API
STDERR MVC API handles errors or uncaught exceptions into reports and responses on top of Abstract MVC API
View Language API templates HTML views using a language extending HTML standard, similar to Java's EL & JSTL
Logging API logs messages/exceptions to a storage medium
SQL Data Access API connects to SQL vendors (eg: MySQL), executes queries and parses results on top of PDO
NoSQL Data Access API connects to NoSQL key-value stores (eg: Redis), executes operations (eg: get) and retrieves results
Web Security API performs authentication and authorization on different combinations
OAuth2 Client API communicates with OAuth2 Providers (eg: Facebook) in order to retrieve remote resources owned by client
HTTP Headers API encapsulates HTTP Request/Response headers according to ISO standards and applies Cache/CORS validation when demanded
Internationalization API makes it possible for HTML views to be translated automatically to client's locale

Framework logic thus becomes strictly one of integrating all above functionalities for a common goal, that of providing an integrated platform for programmers to start developing on. To further modularity and ease of update even further, framework itself is broken into THREE APIs, each with its own repo:

API Description
Framework Skeleton API contains "mobile" part of framework logic, the project skeleton developers will start working on once framework was installed. Once installed, logic inside becomes owned by developers, so it cannot be updated.
Framework Engine API contains "fixed" part of framework logic, from binding classes required in APIs "conversation as well to general purpose classes. All logic inside is owned by framework, so open for composer update but not open for change by developers.
Framework Configurer API contains console step-by-step configurer as well as files going to be copied on developers' project once process completes. All logic inside is owned by framework, as in above, but choices of configuration are in developer's hands.

As its composing APIs, framework itself is PHP 8.1+ and PSR4 autoload compliant, using unit testing (for engine) as well as functional testing (for skeleton and configurer) to insure stability.

Thanks to its modular and harmonic design, it's both extremely easy to use (as tutorials show) and exceptionally fast (as benchmarks show: 75 times faster than Laravel using factory settings for both). To learn more, go to:

https://www.lucinda-framework.com