Lucinda: Modular Ultra-High Performance PHP Framework

Follow us on: YouTube Channel Facebook Page

Lucinda is an ultra high performance PHP framework designed to build blazing fast and easily maintainable web applications. It combines harmony with modular design to achieve a scalable and efficient end product that is beautiful to work with and simple to learn.

What's New AI-based framework assistant. See:
GPT Lucinda Framework Assistant

How does it work?

To enforce modularity, framework is just a thin XML-based integration layer of 24 completely independent APIs, each dedicated to an aspect of a web application logic and built in a way that makes them easy to be assembled or disassembled on demand:

Handling HTTP Requests
Handling Console Requests
For more details how HTTP requests are handled, see: YouTube PlayList

To learn more how they are all put together, check Documentation page. All code inside is 100% unit test covered, PSR-4 autoload compliant and PHP 7.1+ compatible, requiring only SimpleXML extension!

How fast is it?

Thanks to its high-performance design, Lucinda proves to be 36x faster than Laravel, 9x faster than CodeIgniter and over 4x faster than Symfony when raw MVC engine speed is measured (requests-per-second) for rendering templated HTML in ApacheBench tests:

how many requests received a response in 1 second

To learn more about raw results and how this benchmark was conducted so you're able to reproduce them on your own machine, please review Benchmarks page.

How easy is it?

To illustrate how easy this PHP framework is, let us imagine you want to register a route called /hello-world, to be handled by controller HelloWorld that sends variable test with value OK to view helloWorld.html. This requires no more than three steps:

  1. open stdout.xml and register a route:
    <route id="hello-world" controller="Lucinda\Project\Controllers\HelloWorld" view="helloWorld"/>
  2. in src/Controllers folder, create a file called HelloWorld.php with following code:
    namespace Lucinda\Project\Controllers; class HelloWorld extends { public function run(): void { $this->response->view()["test"] = "OK"; } }
  3. in templates/views folder, create a file called helloWorld.html with following code:
    Result is ${data.test}

This way when route /hello-world is called, framework will then answer with: Result is OK. To learn more how lightweight and user friendly this framework is, check Tutorials page.

How to install it?

To install this framework and build your project on its foundation, go to DOCUMENT_ROOT (folder where the website files for a domain name are stored, for example /var/www/html) and run this command from console:

# if your PHP version equals or exceeds 8.1 composer create-project lucinda/framework DOCUMENT_ROOT/SITE_NAME # else if your PHP version between 7.1 and 8.0 composer create-project lucinda/framework DOCUMENT_ROOT/SITE_NAME "3.4.3" # else if your PHP version smaller than 7.1 (documentation: www2.lucinda-framework.com) composer create-project lucinda/framework DOCUMENT_ROOT/SITE_NAME "2.3.*"

After above completes follow Installation guide to create a DOMAIN_NAME pointing to DOCUMENT_ROOT/SITE_NAME then load former in browser to see a welcome page that guides you what to do next.