New v1.29.0 is out →

The ultra modular PHP framework

Build web applications with only the pieces you need. No dependency, no magic: just PHP 8.2 and clean, attribute-driven code.

Get started
$ composer create-project neophp/skeleton my-app
features
37
dependencies
0
PHP
8.2+

Why NeoPHP

Everything you need, nothing you don't

Ultra modular

Components, packages and processes are independent: the kernel only loads the providers you use.

Zero dependency

Only PHP 8.2. No vendor tree to audit: YAML, Markdown, ORM or Tailwind are written in NeoPHP itself.

Attributes everywhere

Routes, listeners, commands, security and autowiring are declared next to the code with PHP attributes.

Generators

make:entity, make:form, make:auth and friends ask what they need and write clean code for you.

Batteries included

ORM with migrations, forms, validation, security, mailer, translations and a debug toolbar, out of the box.

Modern front-end

Twig or PHP templates, an asset pipeline and Tailwind CSS without Node.js.

Simple by design

A route, a controller, a template.

Routes are attributes, services are autowired and templates are Twig or plain PHP. Read it once, you know how it works.

Read the guide →

src/Controller/HelloController.php

class HelloController extends AbstractController
{
    #[Route('/hello/{name}', name: 'hello')]
    public function index(string $name): Response
    {
        return $this->render('hello.html.twig', ['name' => $name]);
    }
}

templates/hello.html.twig

{% extends 'base.html.twig' %}

{% block body %}
    <h1>Hello {{ name }}!</h1>
{% endblock %}

The ecosystem

37 features, one documentation each

packages

10

Plugged into the kernel: ORM, security, translation, Markdown...

process

2

Around your application: console and installer.

Latest releases

  1. v1.29.0

    NeoAI package (development assistant enabled only in debug: OpenAI, OpenAI-compatible (Mistral, Groq, OpenRouter, LM Studio, vLLM), Anthropic, Gemini and Ollama providers, read-only neo-tool loop in a sandbox with secret redaction, ai:start chat with patch review, ai:scan audit with Markdown report, ai:test, toolbar chat and profiler panel, config/packages/neo_ai.yaml); WebProfiler ToolbarAssetInterface to add CSS / JavaScript to the toolbar

  2. v1.28.2

    Bugfix: translation profiler

  3. v1.28.1

    Bugfix: missing translation:generate command

  4. v1.28.0

    Translation profiler (toolbar item and panel, opt-in TranslationTrace: defined / fallback / missing messages, locale detection source, loaded catalogues)

Ready to build?

Create your first NeoPHP application in less than five minutes.

Start with the guide