Transform Your PHP Development with GEMVC

A modern PHP library/framework where security meets simplicity! Build professional, secure APIs in minutes, not hours.

🚀 Fast
🔒 Secure
Modern
app/api/User.php

namespace AppApi;

use GemvcCoreApiService;
use GemvcHttpRequest;
use GemvcHttpJsonResponse;
use AppControllerUserController;

// API endpoint is https://yourdomain.com/user/getUsers
class User extends ApiService {
    public function __construct(Request $request) {
        parent::__construct($request);
    }
    
    public function getUsers(): JsonResponse {
        // Check if the user is authenticated 
        // and has the admin role
        if (!$this->request->auth(['admin'])) {
            return $this->request->returnResponse();
        }
        
        return (new UserController($this->request))->list();
    }
}

Core Features

Everything you need to build modern, secure PHP applications

Security First

Built-in JWT authentication, input sanitization, and comprehensive protection against common vulnerabilities.

Database Abstraction

Type-safe queries, ORM capabilities, and table generation with connection pooling for maximum performance.

Swoole Ready

Seamlessly switch between OpenSwoole and Apache servers - your code works identically on both.

Real-time Ready

WebSocket support with Redis scaling for real-time applications and live updates.

Developer Experience

CLI tools, code generation, and comprehensive documentation with auto-generated API docs.

AI Ready

Built-in APIs and interfaces optimized for AI assistant integration and automation.

Quick Development enviroment Start

Get up and running with 🐳 Dockerized GEMVC in minutes

1

create folder Install GEMVC with composer

for following this steps you shall have Docker Desktop and Composer Composer installed on your machine , create a folder for your project and in cli type:

Terminal
composer require gemvc/library
2

Initialize Project and follow the instructions

after you have installed GEMVC with composer, you can in terminal or cli create project structure if you want to use GEMVC as Framework . this init command will create a project structure. simply follow the instructions. in this command you can choose between openswoole and apache webserver simply!

Terminal
vendor/bin/gemvc init
3

Build and run Development volume ready!

after you have created project structure, you can build and run the development environment with docker-compose.

Terminal
docker-compose up --build

What you get:

Complete Docker development environment
created and mounted volumes for your project
MySQL 8.0 database on port 3306 with PHPMyAdmin on port 8080
Redis for caching and real-time features
Auto-generated API documentation
Sample code and examples
Ready to use Project structure
real time code change reaction on Docker container
full ready to use Postman collection, only import it and start using it for testing your APIs
UI for your api documentation under index/documentation

Ready to Build Something Amazing?

Join developers who are already building secure, scalable applications with GEMVC