تعلم كيفية استخدام InfyOm Generator لإنشاء تطبيقات CRUD بسهولة في Laravel 9. دليل خطوة بخطوة لتثبيت وإعداد InfyOm، إنشاء الجداول، واستخدام DataTables لتحسين الواجهة.

البدء مع InfyOm Generator في Laravel 9 – شرح وافي للمبتدئين
InfyOm Generator هو أداة قوية جدًا بتساعدك في إنشاء تطبيقات CRUD (إضافة، تعديل، عرض، حذف) بسرعة وسهولة في Laravel. الأداة دي بتوفّر عليك وقت كبير بدل ما تكتب كل الأكواد يدويًا، وبتساعدك على بناء لوحة تحكم متكاملة بسهولة.
Table of contents [Show]
الخطوة 1: إنشاء مشروع Laravel جديد
أول حاجة، لازم يكون عندك Laravel مثبت على جهازك. لو مش عندك، نزّله من الموقع الرسمي.
بعد كده، هنبدأ بإنشاء مشروع Laravel جديد:
laravel new fast-admin
cd fast-admin
إعداد قاعدة البيانات باستخدام SQLite
بدل ما تستخدم MySQL، هنستخدم SQLite عشان الإعداد يكون أسهل.
إنشاء ملف قاعدة البيانات:
touch database/database.sqlite
تعديل ملف .env لاستخدام SQLite:
DB_CONNECTION=sqlite
تشغيل الهجرة:
php artisan migrate
الخطوة 2: تثبيت InfyOm Generator
هنثبّت الحزم المطلوبة باستخدام Composer:
composer require infyomlabs/laravel-generator
composer require infyomlabs/adminlte-templates
composer require doctrine/dbal
وكمان هنضيف الحزم الإضافية:
composer require laravelcollective/html
composer require laracasts/flash
نشر ملفات التهيئة
php artisan vendor:publish --provider="InfyOm\Generator\InfyOmGeneratorServiceProvider"
الخطوة 3: ضبط الإعدادات الأساسية
افتح ملف config/infyom/laravel_generator.php وتأكد من الإعدادات التالية:
'options' => [
'softDelete' => false,
'save_schema_file' => false,
'repository_pattern' => false,
]
إنشاء AppBaseController
touch app/Http/Controllers/AppBaseController.php
بعد كده، افتح الملف وأضف الكود التالي:
<?php
namespace App\Http\Controllers;
class AppBaseController extends Controller { }
الخطوة 4: تثبيت DataTables
عشان نستخدم الجداول التفاعلية في Laravel، هنثبّت الحزمة:
composer require yajra/laravel-datatables
نشر ملفات DataTables
php artisan vendor:publish --tag=datatables-buttons
تحديث JavaScript والـ SCSS
require("bootstrap");
require("datatables.net-bs5")();
require("datatables.net-buttons-bs5")();
الخطوة 5: إنشاء جدول المنتجات (Products Table)
هننشئ جدول جديد للمنتجات:
php artisan make:migration create_products_table --create=products
تحديث الهجرة:
public function up() {
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->text('description');
$table->float('price', 8, 2);
$table->timestamps();
});
}
الخطوة 6: إنشاء لوحة التحكم باستخدام InfyOm
تشغيل InfyOm لإنشاء CRUD:
php artisan infyom:scaffold Product --fromTable --tableName=products
تعديل الجدول في الواجهة الأمامية
افتح الملف resources/views/products/table.blade.php واحذف:
@include('layouts.datatables_css')
@include('layouts.datatables_js')
الخطوة 7: تشغيل التطبيق
كل حاجة جاهزة، شغّل التطبيق:
php artisan serve
افتح المتصفح وروح على http://localhost:8000/products.
الخلاصة
InfyOm Generator بيساعدك في توفير الوقت والمجهود عند إنشاء مشاريع Laravel، وبيخلّيك تقدر تعمل لوحات تحكم متكاملة بسرعة وسهولة.
استخدمنا SQLite كقاعدة بيانات
ثبّتنا InfyOm Generator و DataTables
أنشأنا CRUD كامل لإدارة المنتجات
جهّزنا الواجهة الأمامية باستخدام DataTables