Download the PHP package rcarvello/webmvcframework without Composer

On this page you can find all versions of the php package rcarvello/webmvcframework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package webmvcframework

WebMVCFramework

alt tag Supported PHP versions from 5.6 to 8.5

Quality Gate Status Vulnerabilities Bugs Maintainability Rating Reliability Rating

WebMVCFramework is a lightweight PHP application kernel for building maintainable database-driven web applications without adopting a large, opinionated full-stack framework.

Think of it as an Application Kernel, not as an ecosystem.

It provides the small set of infrastructure services that almost every business web application needs, while leaving the application itself in plain PHP, HTML, SQL and JavaScript.

PHP

Repository: https://github.com/rcarvello/webmvcframework


Why an Application Kernel?

Modern web development often leads to a large stack of frameworks, build systems, abstractions and dependencies before any business functionality is implemented.

WebMVCFramework takes a different approach:

The goal is not to reproduce every capability of a large framework. The goal is to establish a stable application foundation with predictable conventions and a small conceptual footprint.

This makes the framework particularly suitable for:

What the Kernel Provides

WebMVCFramework concentrates on the infrastructure that is useful across many applications.

Application structure and MVC

Routing and dispatching

URLs are mapped to controllers and methods using conventions rather than extensive route configuration.

For example, URL segments are translated into controller and method names according to the framework conventions. This keeps routing visible in the filesystem and source code instead of hiding it in a large configuration layer.

Lightweight template engine

The view layer deliberately uses HTML-oriented templates rather than introducing a programming language inside the templates.

It provides:

The template engine is intentionally simple: application logic stays in PHP, while templates remain recognizable HTML.

Database access and MySQL ORM

The framework is designed around MySQL and provides a database model layer with automatic mapping between database structures and application models.

It includes support for:

The intention is not to hide SQL completely. SQL remains available whenever a query is more appropriate than an abstraction.

Security

The kernel includes infrastructure for common web application security requirements, including:

Security-sensitive behavior is centralized so that applications do not need to reinvent the same mechanisms for every project.

Internationalization

The framework provides a localization mechanism based on application locale resources and framework conventions.

This allows applications to keep translations outside controllers and templates while preserving a simple rendering model.

REST support

A lightweight REST service layer is available for applications that need HTTP APIs without introducing a separate backend framework.

The application can expose explicit methods for HTTP verbs such as:

The same application architecture can therefore serve both HTML pages and REST endpoints where appropriate.

Components

Reusable components can encapsulate recurring UI/application behaviors such as records, data presentation and hierarchical structures.

Components are designed to remain part of the application architecture rather than becoming an independent framework ecosystem.


The Design Philosophy

WebMVCFramework follows a few deliberately conservative principles.

1. Convention over configuration

If something can be determined reliably from the application structure, it should not require another configuration file.

2. Explicit over magical

The framework should reduce boilerplate, not hide the application.

A developer should be able to open a controller, model, template or SQL query and understand what the application is doing.

3. HTML-first views

Templates should be readable by a web developer without learning a second programming language.

Business logic belongs in PHP, not in a template DSL.

4. SQL remains a first-class citizen

An ORM is useful for repetitive CRUD operations, but complex SQL should not be forced through an abstraction merely for the sake of abstraction.

5. Native web technologies remain valuable

The kernel does not require a large JavaScript application framework. It can be used with:

This makes it possible to build modern interfaces while keeping the server-side architecture small.

6. Long-term maintainability

A business application can remain useful for 5, 10 or more years. The architecture should therefore minimize unnecessary dependencies and avoid coupling the application to a rapidly changing frontend/backend ecosystem.

The kernel provides infrastructure; the application owns the business logic.


Application Kernel vs. Full-Stack Framework

WebMVCFramework is intentionally smaller in scope than frameworks such as Laravel or Symfony.

That is a feature, not a missing capability.

Concern WebMVCFramework approach
Routing Convention-based
Controllers Plain PHP classes
Views HTML-oriented templates
ORM Lightweight, MySQL-oriented
SQL Always available
Authentication Built-in application infrastructure
Authorization RBAC
REST Lightweight native layer
Frontend No mandatory SPA framework
JavaScript Vanilla JS / HTMX / Bootstrap compatible
Build system Optional, not the center of the architecture
Dependencies Kept deliberately limited
Business logic Owned by the application
Architecture Application-centric

The objective is to avoid the situation where a simple CRUD or business application requires a chain of frameworks simply to render a form, read a database record and return HTML.


A Modern Lightweight Stack

WebMVCFramework fits particularly well with a stack such as:

This architecture is deliberately server-centric and can avoid the complexity of maintaining a separate SPA frontend and API backend when the application does not actually need them.

For many business applications, HTML + HTTP + PHP + MySQL + a small amount of JavaScript is still an extremely capable architecture.


Suitable Frontend Technologies

The kernel does not prescribe a frontend framework.

A typical application can use:

Use whichever browser technology solves the problem with the least complexity.

For example, HTMX can progressively enhance server-rendered pages without turning the application into a JavaScript-heavy SPA.


Project Structure

A typical application follows the framework's conventions and separates application code from the framework core.

The repository contains the main framework areas including:

The exact application structure can evolve, but the important principle is that the framework supplies the kernel and the application supplies the domain.


Getting Started

Clone the repository and install its dependencies with Composer:

Configure the application using the files under config/, in particular the application and framework configuration files.

The repository also contains development tooling and PHPUnit integration for supported PHP versions.

Development server

The Composer configuration provides a development command:

Tests

When running on a supported PHP version with PHPUnit installed:

Compatibility note: the package declares PHP >=5.6 for its runtime dependency contract, while the current development/test tooling includes PHPUnit versions that require modern PHP. For new applications, use a currently supported PHP release.


Documentation

The repository contains detailed Markdown documentation under md/, covering topics such as:

These documents are intended not only as tutorials but also as architecture documentation for long-lived applications.


AI-Assisted Development

A lightweight and explicit architecture is particularly well suited to modern AI-assisted development.

An AI coding assistant can reason about a project more reliably when:

WebMVCFramework therefore works well as a human-readable application kernel for AI-assisted coding: the AI can generate controllers, models, views, SQL and JavaScript while the kernel provides the stable architectural rules those artifacts must follow.

The goal is not to make the framework AI-specific. The goal is to make the architecture simple enough that both humans and AI tools can understand it.


When You Should Use It

WebMVCFramework is a good fit when you want:

It is less appropriate when your project specifically requires the ecosystem, integrations or conventions of a large full-stack framework.


Core Principle

Do not build a framework to develop an application. Build an application on top of a small, stable kernel.

WebMVCFramework is intended to provide exactly that kernel: enough infrastructure to avoid reinventing the basics, but not so much abstraction that the framework becomes the application.


How to install and run

To install the framework download and copy it into an Apache web folder. Then go to the config directory and modify application.config.php according to your MySQL server configuration and Apache web folder you want to use for your application. By default framework provides a small set of examples. For using them run the provided SQL script into the sql folder. In a future time, I will provide you with more examples illustrating its functionalities.

Setup Using composer

To create a new PHP Web MVC project in a given project folder, open a terminal session and run:

Then go into PROJECT-FOLDER:

Configure DB access:

You will be prompted to specify certain configuration variables, such as the database host, username, password, etc.

Finally, you can run the development server simply by typing:

The development server will be started by enabling hot reload on any code changes.

Your web browser will open the demo page at http://localhost:3000

How to autogenerate PHP Model classes from your MySQL database

The util directory contains a file named app_create_beans.php. Run it from your browser or from the command line to execute the ORM classes code auto-generation regarding tables of a given MySQL database.

Naming convention note:

Table-to-class mapping:

Concrete example (category):

Generated Bean correspondence (models/beans/BeanCategory.php):

Warning! Before running it you must configure MySQL access parameters by modifying util\mysqlreflection\mysqlreflection.config.php according to your MySQL configuration. After running the utility you will find the autogenerated PHP classes into the models\beans directory.


License

WebMVCFramework is released under the MIT license. See config/License.txt for the repository license text.


Author

Rosario Carvello

GitHub: https://github.com/rcarvello


All versions of webmvcframework with dependencies

PHP Build Version
Package Version
Requires php Version >=5.6
ext-json Version *
ext-dom Version *
ext-mysqli Version *
ext-ctype Version *
ext-mbstring Version *
ext-openssl Version *
ext-gd Version *
ext-pdo Version *
ezyang/htmlpurifier Version ^4.17
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package rcarvello/webmvcframework contains the following files

Loading the files please wait ...