An Easy to Use PHP Framework with Single Page Application Support
EasyMVC is a free, open-source PHP framework with Single-Page Application (SPA) support. It was created as an alternative for the bigger frameworks around.
As the name indicates, it is based upon the model-view-controller (MVC) architectural pattern, but goes even further by giving extra divisions for other specific classes. For example, helper- and repository-classes get their own place in the folder tree.
The main purpose of EasyMVC is to provide a lightweight PHP framework without the need to learn a special code structure that would deviate from vanilla PHP-code. It also uses Composer and NPM (Node.js) to maintain the packages that are needed for a project.
During the creation of a project, the file-structure is created, certain configuration-files are added and some specific EasyMVC-modules are preloaded. By editing the needed configuration files, modules can be activated for the framework, or even removed completely. This is what makes EasyMVC so flexible, only the modules that are needed, have to be loaded.
The source code of EasyMVC is hosted on GitHub and licensed under the terms of the GNU General Public License version 3 (GPL-3.0).
The router implements an easy routing system that uses search engine-friendly URLs. Additionally, other classes and model-repositories can be easily injected into the controllers of the framework.
Optionally, the router also provides device detection and can redirect the user to a Single-Page Application (SPA) for smartphones and/or tablets.
One of the advantages of EasyMVC is that it uses vanilla PHP. There is no need to learn new ways to do the things you normally do and with its organized directory structure, every type of file has its own place within the framework. Because of this, you can use your own written classes in combination with the framework's provided classes.
EasyMVC uses Composer and NPM (Node.js) to create new projects and to manage all the packages the project needs.
EasyMVC provides an easy way to deliver a Single-Page Application (SPA) to the user, while at the same time it can function as the RESTful API for the SPA.
With the build in device detection, it is even possible to have a separate PHP website for Desktop/Laptop users and an SPA for the users with a mobile device.