TomatoPHP: لوحة تحكم ومولّد CRUD لـ Laravel
- نُشر في
- مدة القراءة
- 3 دقائق قراءة
تعرّف على TomatoPHP Admin: لوحة تحكم SPA لـ Laravel مبنية على Splade وFilament، تولّد CRUD كاملًا من ملف الـ migration بأمر واحد.
هل جرّبت بناء تطبيق SPA؟ كمطوّر full-stack أرى أن الأمر بسيط حين تستخدم تقنية واجهة أمامية فوق الـ backend. والآن أصبح ذلك سهلًا مع Splade، وهي حزمة جديدة تتيح بناء تطبيقات SPA باستخدام Blade فقط، وأعتقد أنها ستُحدث تغييرًا كبيرًا في مجتمع Laravel.
وبفضل هذه التقنية الجديدة، بنينا في فريق TomatoPHP شيئًا مميزًا باستخدام واجهة FilamentPHP وتقنية Splade: لوحة تحكم ومولّد CRUD جديد يجعل تطويرك أسرع وأنظف. في هذا المقال ستتعرف على ما يقدمه، وكيف تثبّته، وكيف تولّد أول CRUD لك انطلاقًا من ملف migration.
ملاحظة: كُتب هذا المقال في أوائل 2023 لنسخة tomato-admin المبنية على Splade؛ راجع توثيق TomatoPHP الحالي لمعرفة أحدث الإصدارات.
العرض التجريبي
يمكنك تجربة العرض الحي من هنا.
المزايا
- تطبيق SPA باستخدام Blade
- مولّد CRUD للويب وللـ API
- دعم معمارية HMVC
- المصادقة وإدارة المستخدمين
- واجهة متجاوبة باستخدام قالب Filament
- دعم الاتجاه من اليمين لليسار (RTL) والوضع الداكن
- أدوات Breeze جاهزة للاستخدام مع دعم RTL والوضع الداكن
- ترجمات عربية وإنجليزية جاهزة للاستخدام
- قائمة سهلة الاستخدام عبر Provider
التثبيت
شاهد شرح التثبيت على YouTube: فيديو تثبيت لوحة تحكم TomatoPHP.
-
في مشروع Laravel جديد، أضف لوحة التحكم:
composer require tomatophp/tomato-admin -
انشر الملفات وجهّز لوحة التحكم بأمر التثبيت:
php artisan tomato-admin:install -
ابنِ ملفات الواجهة:
yarn && yarn build
أصبحت لوحة التحكم جاهزة للاستخدام.
ابدأ أول CRUD لك
يعمل المولّد انطلاقًا من مخطط قاعدة البيانات، لذا تبني الـ CRUD بعد إنشاء migration لجدولك. لنفترض أنك تحتاج إلى جدول للعملاء.
1. أنشئ ملف الـ migration
php artisan make:migration create_customers_table
2. عرّف مخطط الجدول
<?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
php artisan migrate
4. ولّد الـ CRUD
وهنا تأتي خطوة Tomato. نفّذ:
php artisan tomato:generate
سيسألك عن اسم الجدول الذي أنشأت له الـ migration. وإن كنت تريد استخدام Laravel Modules فأجب بـ y على السؤال التالي.
5. سجّل القائمة
سجّل القائمة المولَّدة في ملف الإعدادات config/tomato-admin، وستجد كلاس القائمة داخل App\Menus. ثم أعد تخزين الإعدادات مؤقتًا:
php artisan config:cache
وها هو الـ CRUD جاهز.
ما التالي؟
هل نبني مجرد لوحة تحكم فارغة؟ لا، فقد بنينا فوقها الكثير من الإضافات.

- 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.