Tabapad 2

PHP Framework
Tabapad says: "Hello World" 00:00:00

Tabapad 2 represents a complete and fundamental redesign of the original Tabapad framework.

The use of AI models, motivated me

Today's AI models have greatly helped me move forward in the development of this framework, with the speed of light. I have rebuilt it from the ground up with a stronger focus on architecture, maintainability, scalability, and professional development practices.

A totally new design

Tabapad Version 2 introduces a clean and well-structured MVC architecture. It separates routes, services, libraries, models, and views, helping keep business logic out of controllers and making applications cleaner, more scalable, and easier to maintain and test.

Flow-Based Folder Structure
my-project/
│
├── [1. THE INTERFACE]
├── views/          # The UI templates/pages where actions 
│                     originate or data is displayed
│
├── [2. REQUEST ENTRY & ROUTING]
├── routes/          
│   └── api.php     # Captures the raw HTTP request 
│                     and determines the endpoint
│
├── [3. REQUEST HANDLING & VALIDATION]
├── middleware/     # Checks auth, validates inputs, 
│                     or handles CORS before processing
├── controllers/    # Extracts request parameters and 
│                     and coordinates response status codes
│
├── [4. BUSINESS LOGIC & DATA PROCESSING]
├── services/       # Applies core calculations, 
│                     business rules, and permissions
│
├── [5. STORAGE & INFRASTRUCTURE]
├── models/         # Runs raw SQL queries or database 
│                     entity mutations
├── config/         # ──► HELPER: 
│                     Provides DB connections and 
│                     environment configuration strings
├── libraries/      # ──► HELPER: 
│                     Houses isolated utilities 
│                     (e.g., mailers, encryption, curl wrappers)
│
Forms Module Example

Python Module Example

This is the response coming from calling the Python file example.py :

{ "about": "This file is an example python file X4.", "message": "2026-09-24T17:58:59.873613: Response from example.py python file.", "python_vars": { "error": false, "errorMsg": "", "httpCode": 200, "test": "hello", "traceback": null } }