Enplated MVC v1.0 version

Simple and powerful PHP framework based on MVC architecture.

Implementation Documentation License Support Enplated GitHub
Framework image

Fast, efficient, customizable

Enplated MVC offers Routing including routing with parameters in the URL. Great template files based on Laravel Syntax will make development of 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. It's entirely up to you if you decide to use them or not.

Supports MySQL, MariaDB and SQLite databases. Great JSON, XML, and CSV data generation capabilities make any API easy. Runs on all PHP versions above 5.6.

Framework image
Framework image

Simple, but flies to the moon πŸš€πŸŒ™

Not every framework has to be huge and do a bunch of stuff. 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. It would just take 3 Apollo 11 computers from 1969 to fit the entire Enplated MVC core.

Implementation Documentation License Support Enplated GitHub

FaQ

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

Tested in 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, but if you achieve the same functionality of .htaccess in NGINX for example, you can use that as well.

Enplated MVC clearly doesn't offer as many features as other major frameworks. For example, Enplated MVC has very limited 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
Loading Speed β‰ˆ10 ms β‰ˆ200 ms
Size 340 KB 49.3 MB
Number of Files 48 4589
Supported DB MariaDB, MySQL, SQLite MariaDB, MySQL, SQLite, PostgreSQL, SQL Server

Laravel is suitable for huge projects with dozens of people working on them. Then Laravel makes sense. 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 much 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, we use a lot of techniques in both the controller and the models that will make your code practically OOP code, so you'll be approaching it very similarly to OOP projects.

In future versions we want to focus on the following aspects:

  • - 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 don't want:

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