Search by

deawx / cyberrestapi

deawx

Fast PHP API Framework

Package info

github.com/deawx/cyberrestapi

Homepage

Type:project

pkg:composer/deawx/cyberrestapi

Statistics

Installs: 10

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.1.2 2026-09-20 00:21 UTC
No longer found in upstream repository

This package is auto-updated.

Last update: 2026-09-22 09:19:06 UTC


README

Cyberthai

CyberRestAPI

เฟรมเวิร์ก PHP 8.2–8.4 สำหรับสร้าง REST API
พัฒนาโดย Cyberthai ใช้ Composer, Medoo และระบบ routing ที่กำหนด endpoint เอง

Packagist Version Total Downloads GitHub Wiki License

คุณสมบัติ

  • Routing คล้าย Laravel (GET / POST / PUT / PATCH / DELETE)
  • JSON response มาตรฐานผ่าน Core\Response
  • ฐานข้อมูล MySQL / MariaDB ผ่าน Medoo (Core\Database, Core\Model)
  • CORS จาก CORS_ORIGIN ใน .env
  • JWT (firebase/php-jwt) และเข้ารหัสข้อมูลด้วย Core\Cipher
  • CLI php deawx สำหรับสร้าง controller, model, migration และ seeder
  • Migration / seeder, validation, pagination และอัปโหลดไฟล์
  • จัดรูปแบบโค้ดตาม PER Coding Style 3.0

ความต้องการของระบบ

  • PHP 8.2–8.4 พร้อมส่วนขยาย curl, json, mbstring, openssl, pdo_mysql
  • Composer 2
  • MySQL หรือ MariaDB
  • Apache (เช่น XAMPP) หรือ PHP built-in server

ติดตั้ง

แพ็กเกจบน Packagist คือ deawx/cyberrestapi ซอร์สอยู่ที่ github.com/deawx/cyberrestapi

สร้างโปรเจกต์ใหม่จาก Composer:

composer create-project deawx/cyberrestapi myapp
cd myapp

หรือติดตั้งเป็นแพ็กเกจในโปรเจกต์ที่มีอยู่แล้ว:

composer require deawx/cyberrestapi

create-project จะสร้าง .env แล้วใส่ ENCRYPTION_KEY กับ JWT_SECRET ให้
ถ้าติดตั้งแบบคัดลอกโฟลเดอร์เอง:

copy .env.example .env
php deawx key:generate

แก้ .env ให้ DB_* ตรงกับ MySQL ของเครื่อง จากนั้นสร้างฐานข้อมูลชื่อเดียวกับ DB_NAME (ค่าเริ่มต้น cyberfastapi)

อย่า commit ไฟล์ .env — เก็บเฉพาะ .env.example ใน git

รันโปรเจกต์

Apache (XAMPP)

วางโฟลเดอร์โปรเจกต์ใน htdocs ของ XAMPP แล้วเปิดตามชื่อโฟลเดอร์ เช่น myapp

PHP built-in server

composer serve
Path คำอธิบาย
/ JSON ต้อนรับ
/health สถานะ API และฐานข้อมูล
/testview หน้า View ตัวอย่าง

เพิ่ม API ของตัวเอง

สร้างคลาสด้วย CLI แล้วผูกเส้นทางใน Routes/web.php

php deawx make:controller User
php deawx make:model User
php deawx make:migration create_users_table
php deawx migrate
php deawx migrate --step
php deawx migrate:status
php deawx migrate:rollback --path=users
php deawx migrate:refresh --seed
php deawx migrate:fresh --seed
php deawx db:tables
php deawx db:columns users
php deawx make:seeder UserSeeder
php deawx db:seed

ไฟล์จะอยู่ที่ Apps/Controllers/, Apps/Models/, Database/migrations/ และ Database/Seeders/

สร้างตารางด้วย Blueprint (ข้างในเรียก Medoo create / drop ให้) แก้ตารางเดิมใช้ Schema::table()

Schema::create('users', static function (Blueprint $table): void {
    $table->id();
    $table->string('email', 191)->unique();
    $table->string('name');
    $table->timestamps();
});

Seeder หรือ query พิเศษใช้ $this->db() ของ Medoo ได้ เช่น insert, update, select

ตัวอย่างใน controller

$validated = $this->validate([
    'email' => 'required|email|max:191',
    'name' => 'required|min:2',
]);

$this->paginate(App\Models\User::class);

$avatar = Core\Upload::store('avatar', 'uploads/avatars');

ตัวอย่างเส้นทางใน Routes/web.php

use Core\Route;

Route::get('/users', 'UserController@index');

สคริปต์ Composer

คำสั่ง หน้าที่
composer serve เปิด PHP built-in server ที่พอร์ต 8000
composer test รัน PHPUnit
composer cs-fix จัดโค้ดตาม PER Coding Style 3.0
composer cs-check ตรวจสไตล์โดยไม่แก้ไฟล์

เอกสารประกอบ

คู่มือเต็มอยู่ที่ GitHub Wiki สำเนาสำหรับคัดลอกขึ้น wiki อยู่ใน docs/wiki/

สัญญาอนุญาต

เผยแพร่ภายใต้สัญญา MIT License

ผู้พัฒนา

CyberRestAPI พัฒนาโดย deawx (Tirapong Chaiyakun)