A FRESH PERSPECTIVE ON PHP
Good ideas.
Less friction.
An approachable PHP framework for turning
what’s in your head into what’s next.
Clear conventions. Familiar tools. Room to build.
composer create-project --repository=https://elangphp.com/packages elang/elang my-app 0.1.0-dev<?php
use Elang\Http\Response;
// A little clarity goes a long way.
$router->get('/hello/{name}', function (
string $name
) {
return Response::json([
'message' => 'Hello, '.$name.'!',
'possibilities' => 'Wide open.',
]);
});“Hello, World!”An explicit API.
Room to build.
BUILT TO MAKE SENSE
Stay in the flow.
Understand every step.
The best tool is one you can make your own. Elang brings familiar PHP components together behind clear conventions, so you can spend your attention on your application.
Get to know the frameworkReadable from
the first route.
Explicit routes. Typed parameters. Responses that say what they mean. An explicit application API with modular services and clear boundaries.
/ideas/{id}→IdeaControllerCompose.
Don’t untangle.
Constructor injection, explicit service bindings, and middleware that runs in the order you expect.
Meet the container ↗Thoughtful
defaults.
Escaped templates, CSRF middleware, parameterized queries, and useful errors that keep internal details private.
Read the security guide ↗LESS THEORY. MORE TRYING.
Take it for a small spin.
Real requests. Real Elang responses.
A little window into the framework.
$router->get('/hello', function (Request $request) {
$name = $request->query->get('name', 'World');
return Response::json([
'message' => 'Hello, '.$name.'!',
'framework' => 'Elang',
'status' => 'Ready to build.',
]);
});$validated = $validator->validate($data, [
'name' => [
new Assert\NotBlank(),
new Assert\Type('string'),
new Assert\Length(min: 2, max: 80),
],
'email' => [
new Assert\NotBlank(),
new Assert\Email(),
],
]);$rows = $database->table('examples')
->orderBy('id', 'ASC')
->setMaxResults(3)
->fetchAllAssociative();
return Response::json([
'data' => $rows,
'source' => 'Live SQLite database',
]);// Make it yours.
// Then hit “Run request”.YOUR NEXT STEP IS A SMALL ONE
New to Elang?
You’re in the right place.
A practical path from “hello” to “here’s what I built.”
One focused lesson at a time.
EARLY DAYS. OPEN DOORS.
A framework is better
when it’s built together.
Elang is a development preview. Explore what works today,
see where it’s heading, and help shape what comes next.
What is Elang, exactly?
Elang is an open-source PHP framework. PHP is the language; Elang provides routing, services, validation, templates, database access, and a clear application structure. Understand what a framework does.
I’m new to PHP. Where should I start?
Start with environment setup, then learn the PHP syntax used in the examples. The learning path leads to a complete task board, with expected results and troubleshooting at each step.
Do I need Node.js or a frontend framework?
No. The website uses HTML, CSS, and vanilla JavaScript. Elang can also power React, Next.js, Vue, and mobile clients through its authenticated API. Connect your frontend.
What can I build with the current preview?
Explore routing, JSON APIs, validated forms, templates, sessions, and DBAL queries. Auth Starter, scoped tokens, model repositories, local Studio, and complete projects are available. Background jobs, UTC scheduling, SSE, authenticated WebSockets, CORS, and retry-safe JSON writes are included. A full ORM and distributed broker adapters remain future work. See the current roadmap.
How does Elang compare with Laravel?
Elang focuses on an approachable, explicit API and a practical learning experience. Laravel currently has a much broader mature ecosystem. Read the capability comparison and evaluation guidance.