# TomatoPHP: لوحة تحكم ومولّد CRUD لـ Laravel

> تعرّف على TomatoPHP Admin: لوحة تحكم SPA لـ Laravel مبنية على Splade وFilament، تولّد CRUD كاملًا من ملف الـ migration بأمر واحد.

*2026-09-17T03:23:45Z*

هل جرّبت بناء تطبيق SPA؟ كمطوّر full-stack أرى أن الأمر بسيط حين تستخدم تقنية واجهة أمامية فوق الـ backend. والآن أصبح ذلك سهلًا مع Splade، وهي حزمة جديدة تتيح بناء تطبيقات SPA باستخدام Blade فقط، وأعتقد أنها ستُحدث تغييرًا كبيرًا في مجتمع Laravel.

وبفضل هذه التقنية الجديدة، بنينا في فريق TomatoPHP شيئًا مميزًا باستخدام واجهة FilamentPHP وتقنية Splade: لوحة تحكم ومولّد CRUD جديد يجعل تطويرك أسرع وأنظف. في هذا المقال ستتعرف على ما يقدمه، وكيف تثبّته، وكيف تولّد أول CRUD لك انطلاقًا من ملف migration.

_ملاحظة: كُتب هذا المقال في أوائل 2023 لنسخة `tomato-admin` المبنية على Splade؛ راجع توثيق TomatoPHP الحالي لمعرفة أحدث الإصدارات._

## العرض التجريبي

يمكنك تجربة العرض الحي [من هنا](https://demo.tomatophp.com).

## المزايا

- تطبيق SPA باستخدام Blade
- مولّد CRUD للويب وللـ API
- دعم معمارية HMVC
- المصادقة وإدارة المستخدمين
- واجهة متجاوبة باستخدام قالب Filament
- دعم الاتجاه من اليمين لليسار (RTL) والوضع الداكن
- أدوات Breeze جاهزة للاستخدام مع دعم RTL والوضع الداكن
- ترجمات عربية وإنجليزية جاهزة للاستخدام
- قائمة سهلة الاستخدام عبر Provider

## التثبيت

شاهد شرح التثبيت على YouTube: [فيديو تثبيت لوحة تحكم TomatoPHP](https://youtu.be/MdJPtoFn2xc).

1. في مشروع Laravel جديد، أضف لوحة التحكم:

   ```bash
   composer require tomatophp/tomato-admin
   ```

2. انشر الملفات وجهّز لوحة التحكم بأمر التثبيت:

   ```bash
   php artisan tomato-admin:install
   ```

3. ابنِ ملفات الواجهة:

   ```bash
   yarn && yarn build
   ```

أصبحت لوحة التحكم جاهزة للاستخدام.

## ابدأ أول CRUD لك

يعمل المولّد انطلاقًا من مخطط قاعدة البيانات، لذا تبني الـ CRUD بعد إنشاء migration لجدولك. لنفترض أنك تحتاج إلى جدول للعملاء.

### 1. أنشئ ملف الـ migration

```bash
php artisan make:migration create_customers_table
```

### 2. عرّف مخطط الجدول

```php
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateCustomersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('customers', function (Blueprint $table) {
            $table->id();
            $table->string('name')->index();
            $table->longText('bio')->nullable();
            $table->string('email')->unique()->index();
            $table->string('phone');
            $table->text('address')->nullable();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('customers');
    }
}
```

### 3. نفّذ الـ migration

```bash
php artisan migrate
```

### 4. ولّد الـ CRUD

وهنا تأتي خطوة Tomato. نفّذ:

```bash
php artisan tomato:generate
```

سيسألك عن اسم الجدول الذي أنشأت له الـ migration. وإن كنت تريد استخدام Laravel Modules فأجب بـ `y` على السؤال التالي.

### 5. سجّل القائمة

سجّل القائمة المولَّدة في ملف الإعدادات `config/tomato-admin`، وستجد كلاس القائمة داخل `App\Menus`. ثم أعد تخزين الإعدادات مؤقتًا:

```bash
php artisan config:cache
```

وها هو الـ CRUD جاهز.

## ما التالي؟

هل نبني مجرد لوحة تحكم فارغة؟ لا، فقد بنينا فوقها الكثير من الإضافات.

![شاشة إضافة Tomato Roles](https://github.com/tomatophp/tomato/blob/master/art/roles.png?raw=true)

- Tomato Roles
- Tomato Settings
- Tomato Notifications
- Tomato Forms
- Tomato API
- Tomato Artisan
- Tomato Browser
- Tomato Components
- Tomato Logs
- Tomato Dusk
- Tomato Backup
- Tomato Translations
- Tomato Subscription

تجعل هذه الإضافات بناء تطبيقك سهلًا للغاية، ولدينا مجتمع دعم رائع خلفها. يمكنك الاطلاع على التوثيق الكامل للحزمة في [توثيق TomatoPHP](https://docs.tomatophp.com).

---

Source: https://fadymondy.com/ar/blog/tomatophp-admin-crud-generator
