Simple and powerful PHP framework based on MVC architecture.
- Simple MVC PHP framework focused on speed and simplicity.
- Template files based on the Laravel blade files.
- Amazing routing with URL parameters support.
- Doesn't use Composer or any other external libraries. Just pure PHP.
- Integrated debugger, support PHP from 5.6 to 8.
- Enplated MVC is available under MIT license. More here: https://enplated.karlosoft.com/mvc/license
- ✅ 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.
How would you compare Enplated MVC with other frameworks? What are the differences compared to Laravel?
-
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 the number of features over speed.
- Bootstrap (https://getbootstrap.com)
- Bootstrap Icons (https://icons.getbootstrap.com)