Enplated MVC v1.0 version

A simple and powerful PHP framework based on the MVC architecture.

Implementation Documentation License Support Enplated GitHub

Fast, efficient, customizable

Enplated MVC offers routing, including URL parameters, and template files based on Laravel syntax that make developing any application easier.

Your application will be as fast as it can be. Forget long load times and angry users.

No complexities. No dependencies. Still powerful.

It does not use Composer, NPM or other libraries. Whether you use them is entirely up to you.

Supports MySQL, MariaDB and SQLite databases. Built-in JSON, XML and CSV generation makes building APIs easy. Runs on PHP 5.6 and newer.

Simple, yet it can fly to the moon 🚀🌙

Not every framework has to be huge and do everything. Code should be simple, small and versatile. Big frameworks can't do that. Enplated MVC can.

The entire core of the framework is only 72 KiB. Laravel is about 1000x larger. The entire Enplated MVC core would fit into just 3 Apollo 11 computers from 1969.

Implementation Documentation License Support Enplated GitHub

FAQ

  • 8.x - supported.
  • 7.x - supported; consider upgrading to PHP >=8.4.
  • 5.6 - works, but is not recommended; support will be dropped when PHP 9 is released.
  • <=5.5 - unsupported, does not work.

Tested on PHP 5.6.40, 7.0.33, 7.1.33, 7.2.33, 7.3.32, 7.4.33, 8.0.26, 8.1.28, 8.2.19, 8.3.7.

Currently, only Apache is supported. If you replicate the functionality of .htaccess on another server, such as NGINX, you can use that as well.

Enplated MVC clearly doesn't offer as many features as other major frameworks. For example, it offers very limited support for testing, automatic deployment and similar features.

However, large frameworks are unnecessarily complicated. Here is a comparison of similar applications written in Laravel and Enplated MVC:

Enplated MVC Laravel
Load Time ≈10 ms ≈200 ms
Size 340 KB 49.3 MB
Number of Files 48 4589
Supported Databases MariaDB, MySQL, SQLite MariaDB, MySQL, SQLite, PostgreSQL, SQL Server

Laravel is suitable for huge projects with dozens of developers. Enplated MVC is suitable for small to medium projects and, although it doesn't offer the same features as Laravel, it is much faster, smaller and more intuitive.

No, the entire core of Enplated MVC is written procedurally. This is mainly for speed, as OOP would make the core slower.

However, controllers and models use techniques that make your code very similar to OOP, so you will work with it much as you would in an OOP project.

In future versions, we want to focus on:

  • - Extending the functionality of Blade files.
  • - Better debugging capabilities.
  • - Adding middleware and extending authentication features.
  • - Adding caching capabilities.
  • - Better optimization techniques in routing.

On the other hand, we do not plan on:

  • - Moving to OOP.
  • - Using NPM, Composer, etc.
  • - Prioritizing the number of features over speed.