СВЕЖИЙ ВЗГЛЯД НА PHP
Хорошие идеи.
Меньше препятствий.
Понятный PHP-фреймворк, который превращает
ваши идеи в следующий проект.
Понятные соглашения. Знакомые инструменты. Простор для разработки.
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!”Явный API.
Простор для разработки.
СОЗДАНО ДЛЯ ПОНИМАНИЯ
Сохраняйте рабочий ритм.
Понимайте каждый шаг.
Лучший инструмент — тот, который можно настроить под себя. Elang объединяет знакомые PHP-компоненты понятными соглашениями, чтобы вы могли сосредоточиться на приложении.
Познакомьтесь с фреймворкомДоступно для чтения с
первого маршрута.
Явные маршруты. Типизированные параметры. Ответы с понятным смыслом. Явный API приложения с модульными сервисами и чёткими границами.
/ideas/{id}→IdeaControllerОбъединяйте.
Избегайте путаницы.
Внедрение через конструктор, явные привязки сервисов и промежуточные обработчики, выполняемые в ожидаемом порядке.
Познакомиться с контейнером ↗Продуманно
настройки по умолчанию.
Экранированные шаблоны, обработчик CSRF, параметризованные запросы и понятные ошибки, не раскрывающие внутренние детали.
Прочитать руководство по безопасности ↗МЕНЬШЕ ТЕОРИИ. БОЛЬШЕ ПРАКТИКИ.
Попробуйте в деле.
Настоящие запросы. Настоящие ответы Elang.
Небольшое окно в устройство фреймворка.
$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”.СЛЕДУЮЩИЙ ШАГ — НЕБОЛЬШОЙ
Впервые в Elang?
Вы в нужном месте.
Практический путь от «привет» до «вот что я создал».
По одному конкретному уроку за раз.
ПЕРВЫЕ ШАГИ. ОТКРЫТЫЕ ДВЕРИ.
Фреймворк становится лучше
когда его создают вместе.
Elang находится на этапе предварительной версии. Изучите то, что уже работает,
узнайте направление развития и помогите определить дальнейшие шаги.
Что именно представляет собой Elang?
Elang — PHP-фреймворк с открытым исходным кодом. PHP — язык; Elang предоставляет маршрутизацию, сервисы, валидацию, шаблоны, доступ к базе данных и понятную структуру приложения. Поймите, что делает фреймворк.
Я новичок в PHP. С чего начать?
Начните с настройка среды, затем изучите синтаксис PHP, используемый в примерах. Учебный маршрут ведёт к полноценной доске задач с ожидаемыми результатами и разбором ошибок на каждом шаге.
Нужен ли Node.js или фронтенд-фреймворк?
Нет. Сайт использует HTML, CSS и обычный JavaScript. Elang также может обслуживать React, Next.js, Vue и мобильные клиенты через API с аутентификацией. Подключите свой фронтенд.
Что можно создать с текущей предварительной версией?
Изучите маршрутизацию, JSON API, формы с валидацией, шаблоны, сессии и запросы DBAL. Доступны Auth Starter, токены с областями доступа, репозитории моделей, локальная Studio и полноценные проекты. Включены фоновые задачи, планирование по UTC, SSE, WebSocket с аутентификацией, CORS и безопасные повторы записи JSON. Полная ORM и адаптеры распределённых брокеров остаются в планах. Посмотрите текущий план развития.
Как Elang соотносится с Laravel?
Elang ориентирован на понятный, явный API и практическое обучение. У Laravel сейчас гораздо более широкая и зрелая экосистема. Прочитайте сравнение возможностей и рекомендации по оценке.