ورقة Laravel المرجعية
مرجع Laravel قابل للبحث والطباعة — Artisan، التوجيه، Eloquent، باني الاستعلامات، الترحيلات، Blade، التحقق والمجموعات. مجانًا.
واجهة Artisan
14php artisan serve
بدء خادم التطوير المحلي
php artisan make:model Post -mcr
نموذج مع migration ومتحكم ومورد
php artisan make:controller PostController
توليد صنف متحكم جديد
php artisan make:migration create_posts_table
إنشاء ملف migration جديد
php artisan migrate
تشغيل migrations قاعدة البيانات المعلّقة
php artisan migrate:fresh --seed
إسقاط كل الجداول وإعادة الترحيل والبذر
php artisan db:seed
تشغيل بذّارات قاعدة البيانات
php artisan tinker
فتح صدفة REPL تفاعلية
php artisan route:list
سرد كل المسارات المسجّلة
php artisan optimize
تخزين الإعداد والمسارات والعروض مؤقتاً
php artisan queue:work
معالجة المهام في الطابور
php artisan schedule:work
تشغيل المُجدوِل في المقدمة
php artisan storage:link
ربط رمزي للتخزين بالمسار العام
php artisan key:generate
توليد مفتاح التطبيق
التوجيه
13Route::get('/users', [UserController::class, 'index'])
تعريف مسار GET لمتحكم
Route::post('/users', [UserController::class, 'store'])
تعريف مسار POST
Route::put('/users/{user}', [UserController::class, 'update'])
تعريف مسار PUT
Route::patch('/users/{user}', [UserController::class, 'update'])
تعريف مسار PATCH
Route::delete('/users/{user}', [UserController::class, 'destroy'])
تعريف مسار DELETE
Route::get('/users/{id}', $fn)
مُعامل مسار مطلوب
Route::get('/users/{id?}', $fn)
مُعامل مسار اختياري
Route::get('/profile', $fn)->name('profile')
تسمية مسار لتوليد العناوين
Route::get('/admin', $fn)->middleware('auth')
ربط middleware بمسار
Route::resource('posts', PostController::class)
تسجيل مسارات موارد RESTful
Route::prefix('admin')->group(function () {})
تجميع المسارات تحت بادئة URI
Route::controller(PostController::class)->group($fn)
تجميع المسارات لمتحكم واحد
Route::fallback($fn)
معالجة المسارات غير المطابقة (404)
المتحكمات
10php artisan make:controller PostController --resource
متحكم مورد بطرق CRUD
public function __invoke(Request $request)
متحكم قابل للاستدعاء بإجراء واحد
public function index() {}
سرد الموارد (طريقة resource)
public function store(Request $request) {}
حفظ مورد جديد
public function show(Post $post) {}
عرض مورد واحد (ربط نموذج المسار)
public function __construct(PostService $svc) {}
حقن اعتمادية عبر المُنشئ
return view('posts.index', ['posts' => $posts])
إرجاع عرض Blade مع بيانات
return response()->json($data)
إرجاع استجابة JSON
return redirect()->route('posts.index')
إعادة التوجيه إلى مسار مسمّى
return back()
إعادة التوجيه إلى الصفحة السابقة
Eloquent ORM
14Post::all()
الحصول على كل سجل
Post::find($id)
إيجاد سجل بالمفتاح الأساسي
Post::where('active', true)->first()
أول سجل مطابق لشرط
Post::create(['title' => 'Hi'])
الإسناد الجماعي وحفظ سجل
$post->update(['title' => 'Edited'])
تحديث نموذج قائم
$post->delete()
حذف نسخة نموذج
Post::firstOrCreate(['slug' => $slug])
إيجاد أو إنشاء سجل مطابق
Post::updateOrCreate($attrs, $values)
التحديث إن وُجد وإلا الإنشاء
Post::with('author')->get()
التحميل المسبق لعلاقة
public function comments() { return $this->hasMany(Comment::class); }
علاقة واحد لكثير
public function author() { return $this->belongsTo(User::class); }
علاقة واحد لكثير العكسية
protected $fillable = ['title', 'body'];
سمات قابلة للإسناد الجماعي
protected function casts(): array { return ['published_at' => 'datetime']; }
تحويلات السمات (طريقة casts())
Post::onlyTrashed()->restore()
استعادة السجلات المحذوفة مؤقتاً
بنّاء الاستعلام
13DB::table('users')->get()
جلب كل الصفوف من جدول
DB::table('users')->where('votes', '>', 100)->get()
تصفية الصفوف بشرط
DB::table('users')->join('posts', 'users.id', '=', 'posts.user_id')
ربط داخلي لجدولين
DB::table('users')->orderBy('name')->get()
ترتيب النتائج حسب عمود
DB::table('orders')->groupBy('status')->get()
تجميع الصفوف حسب عمود
DB::table('users')->select('name', 'email')->get()
تحديد أعمدة معينة
DB::table('users')->insert(['name' => 'Sam'])
إدراج صف جديد
DB::table('users')->where('id', 1)->update(['votes' => 1])
تحديث الصفوف المطابقة
DB::table('users')->pluck('email')
الحصول على عمود واحد كمجموعة
DB::table('users')->count()
عدّ الصفوف المطابقة
DB::table('users')->where('id', 1)->exists()
التحقق من وجود صفوف
DB::table('users')->paginate(15)
ترقيم صفحات النتائج
DB::table('users')->chunk(100, $fn)
معالجة النتائج على دفعات
الترحيلات والمخطط
12Schema::create('posts', function (Blueprint $table) {})
إنشاء جدول جديد
$table->id()
مفتاح أساسي تلقائي التزايد
$table->string('title')
عمود VARCHAR
$table->integer('votes')
عمود عدد صحيح
$table->boolean('active')
عمود منطقي
$table->timestamps()
عمودا created_at وupdated_at
$table->foreignId('user_id')->constrained()
مفتاح خارجي بقيد
$table->string('note')->nullable()
السماح بقيم NULL
$table->boolean('active')->default(true)
تعيين قيمة افتراضية
$table->index('slug')
إضافة فهرس لعمود
$table->unique('email')
إضافة قيد فرادة
$table->dropColumn('votes')
إسقاط عمود
قوالب Blade
14@if ($ok) ... @elseif ($x) ... @else ... @endif
عرض شرطي
@foreach ($posts as $post) ... @endforeach
المرور على مجموعة
@forelse ($posts as $post) ... @empty ... @endforelse
حلقة باحتياطي فارغ
{{ $variable }}
إخراج مهروب
{!! $html !!}
إخراج HTML خام غير مهروب
@extends('layouts.app')
الوراثة من تخطيط
@section('content') ... @endsection
تعريف قسم تخطيط
@yield('content')
إخراج قسم في تخطيط
@include('partials.nav')
تضمين عرض آخر
<x-alert type="error" />
عرض مكوّن Blade
@csrf
حقل رمز CSRF للنماذج
@auth ... @endauth
عرض المحتوى للمستخدمين المصادَقين
@can('update', $post) ... @endcan
فحص بوابة التفويض
{{ $loop->index }}
متغيّر الحلقة داخل @foreach
التحقق
12$request->validate(['title' => 'required'])
التحقق من بيانات الطلب مضمّناً
'email' => 'required|email'
قاعدة بريد مطلوب وصالح
'name' => 'required|max:255'
مطلوب بحد أقصى للطول
'email' => 'unique:users,email'
يجب أن يكون فريداً في جدول
'age' => 'nullable|integer|min:18'
عدد صحيح اختياري بحد أدنى
'role' => ['required', Rule::in(['admin', 'user'])]
التقييد بقيم مسموحة
php artisan make:request StorePostRequest
توليد صنف Form Request
public function rules(): array { return [...]; }
قواعد تحقق Form Request
public function authorize(): bool { return true; }
تفويض Form Request
public function messages(): array { return [...]; }
رسائل تحقق مخصصة
$validator = Validator::make($data, $rules)
إنشاء مُتحقّق يدوياً
$request->validated()
الحصول على المدخلات المُتحقَّق منها فقط
الطلبات والاستجابات
10request()->input('name')
استرجاع قيمة إدخال
request()->query('page')
استرجاع قيمة سلسلة استعلام
request()->all()
الحصول على كل المدخلات كمصفوفة
request()->only(['name', 'email'])
الحصول على مجموعة فرعية من المدخلات
request()->has('name')
التحقق من وجود إدخال
response()->json(['ok' => true])
إرجاع استجابة JSON
redirect()->route('home')->with('status', 'Saved')
إعادة التوجيه برسالة flash
back()->withInput()
العودة مع الإبقاء على المدخلات القديمة
abort(404)
رمي استثناء HTTP
abort_if($user->banned, 403)
إجهاض الطلب شرطياً
المجموعات
13$collection->map(fn ($x) => $x * 2)
تحويل كل عنصر
$collection->filter(fn ($x) => $x > 0)
إبقاء العناصر المطابقة
$collection->each(fn ($x) => $x->save())
تشغيل رد نداء لكل عنصر
$collection->pluck('name')
استخراج عمود واحد
$collection->reduce(fn ($c, $x) => $c + $x, 0)
اختزال إلى قيمة واحدة
$collection->sortBy('created_at')
الفرز حسب مفتاح
$collection->groupBy('status')
تجميع العناصر حسب مفتاح
$collection->where('active', true)
التصفية بزوج مفتاح/قيمة
$collection->first()
الحصول على العنصر الأول
$collection->contains('name', 'Sam')
التحقق من وجود عنصر مطابق
$collection->sum('price')
جمع عمود
$collection->flatten()
تسطيح المجموعات المتداخلة
$collection->toArray()
التحويل إلى مصفوفة عادية
المصادقة وmiddleware
11Auth::user()
الحصول على المستخدم المصادَق
Auth::check()
التحقق من تسجيل دخول مستخدم
Auth::id()
الحصول على معرّف المستخدم المصادَق
Auth::login($user)
تسجيل دخول مستخدم
Auth::logout()
تسجيل خروج المستخدم الحالي
auth()->user()
مساعد للمستخدم الحالي
Route::get('/home', $fn)->middleware('auth')
حماية مسار بالمصادقة
Gate::allows('update', $post)
فحص بوابة تفويض
$user->can('update', $post)
فحص القدرة مقابل سياسة
php artisan make:policy PostPolicy --model=Post
توليد سياسة تفويض
php artisan make:middleware EnsureTokenIsValid
توليد صنف middleware
المساعدات ومتفرقات
12config('app.name')
قراءة قيمة إعداد
env('APP_DEBUG', false)
قراءة متغيّر بيئة
route('posts.show', $post)
توليد عنوان لمسار مسمّى
url('/dashboard')
توليد عنوان مؤهّل بالكامل
asset('css/app.css')
عنوان لأصل عام
old('email')
استرجاع المدخلات القديمة المُومَضة
now()->addDays(7)
طابع Carbon الزمني الحالي
Str::slug('My Title')
مساعد سلسلة (slugify)
collect([1, 2, 3])->sum()
إنشاء مجموعة من مصفوفة
cache()->remember('key', 60, $fn)
تخزين قيمة مؤقتاً لمدة
dd($value)
تفريغ قيمة وإنهاء
Storage::put('file.txt', $contents)
كتابة ملف إلى التخزين
لا يوجد إدخال يطابق “:q”.
هل تحتاج إلى مساعدة؟
هل واجهت مشكلة في هذه الأداة؟ أخبر فريقنا.