🦖
[] RAPTOR 1=[]
codesaur/raptor

Raptor Framework

Цэвэр архитектуртай объект хандалттай веб хөгжүүлэлтийн фреймворк

PSR стандартууд дээр суурилсан, олон давхаргат архитектуртай, олон байгууллагын (multi-tenant) RBAC эрхийн удирдлагатай, бүрэн CMS боломжтой PHP веб фреймворк. Анхдагч байдлаараа Web (нийтийн вебсайт) болон Dashboard (админ панель) гэсэн хоёр апп-тай ирдэг бөгөөд codesaur экосистемийн бусад багцуудыг нэгтгэн ажилладаг.

Packagist version Downloads PHP version License Aikido Intel 90/100
codesaur.net
1:1 ══ composer create-project codesaur/raptor my-project
[] Онцлогууд
  • PSR-7/PSR-15 middleware суурьтай архитектур
  • JWT + Session нэвтрэлт баталгаажуулалт
  • Олон байгууллагын (multi-tenant) RBAC эрхийн удирдлага
  • Олон хэл дэмжлэг (Localization)
  • CMS модулиуд: Мэдээ, Хуудас, Файл, Лавлах, Тохиргоо
  • Дэлгүүр модуль: Бүтээгдэхүүн, Захиалга, Үнэлгээ
  • MySQL, PostgreSQL алийг нь ч дэмжинэ
  • SQL файл суурьтай өгөгдлийн сангийн migration систем
  • codesaur/template engine (Twig маягийн синтакс)
  • OpenAI интеграци (moedit editor)
  • PSR-3 лог систем, PSR-14 Event Dispatcher
  • И-мэйл (Brevo API, SMTP, PHP mail), Discord webhook мэдэгдэл
  • SEO: Хайлт, Sitemap, XML Sitemap, RSS feed
  • Спам хамгаалалт (honeypot, HMAC token, rate limiting, Cloudflare Turnstile)
  • CSRF хамгаалалт
  • Аль ч орчинд ажиллана: VPS, dedicated, cloud, shared hosting - mod_security / LiteSpeed WAF-ын ард ч method override, body encoding-оор саадгүй
  • File-based cache (PSR-16), Trash сэргээлт, Sidebar badge систем
PSR PSR-3PSR-4PSR-7PSR-11PSR-12PSR-14PSR-15PSR-16

Архитектур

Нэг entry point, хэдэн ч апп байж болно - анхдагч байдлаар 2 апп. Хүсэлт middleware гинжээр дамжин router, controller, template хүртэл явна.

[] RAPTOR PROJECT 2=[]
public_html/index.php (Entry point)
 |
 |-- /dashboard/* -> Dashboard\Application (Admin Panel)
 |    |-- Middleware: ErrorHandler -> MethodOverride -> BodyEncoding
 |    |               -> Session -> JWT -> Container -> Localization -> Settings
 |    |-- Routers: Login, Users, Organization, RBAC, Localization, Contents,
 |    |            Messages, Comments, Logs, Template, Shop, Development, Migration
 |    \-- Controllers -> Templates -> HTML Response
 |
 \-- /* -> Web\Application (Public Website)
      |-- Middleware: ExceptionHandler -> MethodOverride -> BodyEncoding
      |               -> Container -> Session -> Localization -> Settings
      |-- Routers: WebRouter, PortalRouter
      \-- Controllers -> Templates -> HTML Response

Хүсэлтийн урсгал:
  Browser -> index.php -> .env -> ServerRequest
    -> Application selection (by URL path)
      -> Middleware chain (in order)
        -> Router match
          -> Controller::action()
            -> Model (DB)
            -> FileTemplate (codesaur/template) -> render()
              -> HTML Response -> Browser
1:1

Middleware pipeline

PSR-15

[] Middleware
Dashboard
  1. ErrorHandler
  2. MethodOverrideMiddleware
  3. BodyEncodingMiddleware
  4. SessionMiddleware
  5. JWTAuthMiddleware
  6. ContainerMiddleware
  7. LocalizationMiddleware
  8. SettingsMiddleware
  9. CsrfMiddleware (per-route)
Web
  1. ExceptionHandler
  2. MethodOverrideMiddleware
  3. BodyEncodingMiddleware
  4. ContainerMiddleware
  5. SessionMiddleware
  6. LocalizationMiddleware
  7. SettingsMiddleware

Хянах самбарын модулиуд

Админ панель нь модуль тус бүр Controller, Model, template-ээ нэг хавтсанд багцалсан package-by-feature бүтэцтэй.

[] Dashboard

Нэвтрэлт

JWT + Session, нууц үг сэргээх, бүртгүүлэх хүсэлт, login оролдлогын хязгаар

Хэрэглэгч ба байгууллага

Олон байгууллага (multi-tenant), байгууллага солих, soft delete

RBAC

Дүр, эрх, alias-аар бүлэглэсэн зөвшөөрөл; coder / admin / manager / editor / viewer

Олон хэл

Хэл, орчуулгын текст удирдлага, кэштэй

Контент

Мэдээ, хуудас (мод бүтэц), лавлах хүснэгт, тохиргоо, файл, сэтгэгдэл

Дэлгүүр

Бүтээгдэхүүн, захиалга, үнэлгээ (1-5 од)

Мессеж

Холбоо барих формын мессеж, имэйлээр хариулах

Лог ба протокол

PSR-3 лог хүснэгтүүд, бичлэг бүрийн түүх, sidebar badge

Хогийн сав

Устгасан бичлэгийг эх ID-тэй нь сэргээх

Migration

SQL файл суурьтай, forward-only, аюулгүй байдлын сканнертай

Имэйл ба мэдэгдэл

Brevo API / SMTP / PHP mail, Discord webhook, PSR-14 event

Хөгжүүлэлт

Хөгжүүлэлтийн хүсэлт, гарын авлага, AI туслах (moedit)

Өгөгдлөө үүсгэнэ

Хоосон өгөгдлийн сангаа үүсгээд нэг команд - бүх хүснэгт, эхний өгөгдөл анх ажиллахад автоматаар үүснэ.

[] New Project
Шаардлага
  • PHP 8.2.1+
  • Composer
  • MySQL / PostgreSQL
  • ext-gd
  • ext-intl
composer create-project codesaur/raptor my-project
Гол тохиргоо (.env)
# Environment (development / production)
CODESAUR_APP_ENV=development

# Database (mysql | pgsql)
RAPTOR_DB_DRIVER=mysql
RAPTOR_DB_HOST=localhost
RAPTOR_DB_NAME=raptor
RAPTOR_DB_USERNAME=root
RAPTOR_DB_PASSWORD=

# JWT (secret is auto-generated)
RAPTOR_JWT_ALGORITHM=HS256
RAPTOR_JWT_LIFETIME=2592000

# WAF compatibility (mod_security)
RAPTOR_WAF_BODY_ENCODING=true
Document root заавал public_html/ байх ёстой - .env, application/, vendor/ түүнээс дээр байрлаж URL-аар хүрэшгүй байна.
Тест

PHPUnit 11 суурьтай unit болон integration тестүүдтэй. Integration тест .env.testing тохиргоог ашиглан тусдаа test database дээр transaction дотор ажиллаж, дуусахад rollback хийнэ.

composer test              # All tests
composer test:unit         # Unit tests only
composer test:integration  # Integration tests only

Хавтасны бүтэц

package-by-feature

[] TREE 3=[]
raptor/
|-- application/       # PHP application code (package-by-feature)
|   |-- dashboard/       # Admin panel + shared platform modules
|   \-- web/             # Public website application
|-- public_html/       # Document root (index.php, assets/)
|-- database/
|   \-- migrations/      # SQL migration files
|-- tests/             # PHPUnit tests (unit, integration)
|-- docs/              # Documentation (en/, mn/, conf.example/)
|-- .github/
|   \-- workflows/       # CI + auto deploy
|-- logs/              # Error logs
|-- cache/             # Framework file cache (PSR-16)
|-- protected/         # Protected files (outside docroot)
|-- composer.json
|-- phpunit.xml
\-- LICENSE              # MIT
1:1

Үндсэн классууд

application/dashboard/ + application/web/

[] CLASSES
КлассҮүрэг
Dashboard\ApplicationАдмин панелийн middleware + router бүртгэл
Web\ApplicationНийтийн вебсайтын middleware + router бүртгэл
Dashboard\DatabaseConnectionPDO холболт нээнэ - MySQL / PostgreSQL сонголт .env-ээс
Dashboard\ControllerБүх контроллерын суурь: PDO, RBAC, template, log
Dashboard\MethodOverrideMiddlewarePUT/PATCH/DELETE-ийг X-HTTP-Method-Override-оос сэргээнэ (WAF)
Dashboard\BodyEncodingMiddlewarebase64 кодлогдсон POST body-г тайлна (WAF)
Dashboard\ContainerMiddlewarePSR-11 container болон service-үүдийг request-д залгана
Dashboard\SessionMiddlewareSession нээж, бичих шаардлагагүй үед эрт хаана
Dashboard\Authentication\JWTAuthMiddlewareJWT баталгаажуулж User объект үүсгэнэ
Dashboard\Localization\LocalizationMiddlewareХэл болон орчуулгыг тодорхойлно
Dashboard\Content\SettingsMiddlewareСистемийн тохиргоог request-д дамжуулна
Dashboard\CsrfMiddlewarePer-route CSRF хамгаалалт
Dashboard\Authentication\UserНэвтэрсэн хэрэглэгч: can(), is(), байгууллагын хамрах хүрээ
Dashboard\RBAC\RBACХэрэглэгчийн роль, эрхийн багц (кэштэй)
Dashboard\Template\DashboardTraitdashboard.html layout, sidebar, байгууллагын сэлгүүр
Web\Template\TemplateControllerВебийн index.html layout, SEO meta, цэс
Dashboard\CacheServicePSR-16 файл суурьтай кэш
Dashboard\Log\LoggerPSR-3 лог - {table}_log хүснэгтүүдэд бичнэ
Dashboard\Mail\MailerИ-мэйл илгээгч (Brevo API, SMTP, PHP mail)
Dashboard\Notification\EventDispatcherPSR-14 event dispatcher
Dashboard\Notification\DiscordNotifierDiscord webhook мэдэгдэл
Dashboard\Migration\MigrationRunnerSQL migration файлыг гүйцэтгэнэ (driver-aware splitter)
Dashboard\Migration\MigrationSecurityScannerЭмзэг хүснэгт, DCL үйлдлийг илрүүлж анхааруулна
Dashboard\Trash\TrashModelУстгасан бичлэгийг хадгалж, буцаан сэргээнэ
Dashboard\File\FileControllerФайл upload, устгах суурь логик
Dashboard\Badge\BadgeControllerSidebar-ийн үзээгүй үйлдлийн тоолол
Dashboard\Exception\ErrorHandlerTemplate суурьтай алдааны хуудас

Экосистемийн багцууд

Багц бүр бие даасан, ямар ч PHP төсөлд Composer-оор суулгаж ашиглаж болно. Raptor нь эдгээрийг нэгтгэн бүрэн фреймворк болгодог.

[] CODESAUR ECOSYSTEM 4=[]
PackageСуулгасан хувилбарPSRҮүрэг
codesaur/http-message v3.0.4 PSR-7 Цэвэр, минимал, объект хандалтат бүтэцтэй HTTP Message компонент (PSR-7)
codesaur/router v6.0.1 - Хөнгөн, хурдан, объект-суурьтай маршрутчиллын (routing) компонент
codesaur/http-application v7.0.1 PSR-7, PSR-15 PSR-7 & PSR-15 нийцсэн хөнгөн, уян хатан HTTP Application цөм
codesaur/dataobject v10.1.1 - PDO суурьтай өгөгдлийн модель ба хүснэгт удирдагч компонент (MySQL / PostgreSQL / SQLite)
codesaur/template v4.1.1 - Бие даасан PHP template engine - filters, functions, macros, expression parser
codesaur/http-client v2.1.2 - HTTP хүсэлт илгээх болон MIME имэйл боловсруулах/илгээх хөнгөн жинтэй клиент компонент
codesaur/container v3.2.0 PSR-11 Хөнгөн, хурдан, PSR-11 стандартад нийцсэн dependency injection container
7 packages
[] README.TXT 5=[]

Яагаад "Raptor" гэж?

Дэлхийд анх удаа Монголын говиос (1923) олдсон Velociraptor хэмээх гайхалтай динозаврыг бэлэгдэж өгсөн нэр. Зохиогч Наранхүү динозавр, байгалийн түүхийг сонирхон уншиж судалдаг хүн. codesaur гэдэг нь code + saur - тэрбээр 1997 оноос C хэл дээр эхлэн програм зохиосон өөрийгөө "хуучин цагийн код бичигч динозавр" хэмээн хөгжилтэйгээр нэрлэсэн билээ.

Зохиогч: Narankhuu (codesaur)
[] Талархал

Энэ framework-т санхүүгийн дэмжлэг үзүүлж, хэрэгтэй санал хэлж байсан Gerege Systems LLC болон түүний үүсгэн байгуулагч Ц.Эрдэнэбат багшид талархал илэрхийлье.

gerege.com