برگه تقلب Laravel
مرجع Laravel قابل جستوجو و چاپ — Artisan، مسیریابی، Eloquent، سازنده کوئری، migrationها، Blade، اعتبارسنجی و مجموعهها. رایگان.
Artisan CLI
14php artisan serve
شروع سرور توسعه محلی
php artisan make:model Post -mcr
مدل بههمراه migration، کنترلر و resource
php artisan make:controller PostController
تولید یک کلاس کنترلر جدید
php artisan make:migration create_posts_table
ساخت یک فایل migration جدید
php artisan migrate
اجرای migrationهای معلق پایگاهداده
php artisan migrate:fresh --seed
حذف همه جداول، migrate مجدد و seed
php artisan db:seed
اجرای seederهای پایگاهداده
php artisan tinker
باز کردن یک shell تعاملی REPL
php artisan route:list
فهرست همه routeهای ثبتشده
php artisan optimize
cache کردن config، routeها و viewها
php artisan queue:work
پردازش jobها روی صف
php artisan schedule:work
اجرای scheduler در پیشزمینه
php artisan storage:link
symlink پوشه storage به مسیر public
php artisan key:generate
تولید کلید برنامه
مسیریابی
13Route::get('/users', [UserController::class, 'index'])
تعریف یک route از نوع GET به یک کنترلر
Route::post('/users', [UserController::class, 'store'])
تعریف یک route از نوع POST
Route::put('/users/{user}', [UserController::class, 'update'])
تعریف یک route از نوع PUT
Route::patch('/users/{user}', [UserController::class, 'update'])
تعریف یک route از نوع PATCH
Route::delete('/users/{user}', [UserController::class, 'destroy'])
تعریف یک route از نوع DELETE
Route::get('/users/{id}', $fn)
پارامتر route الزامی
Route::get('/users/{id?}', $fn)
پارامتر route اختیاری
Route::get('/profile', $fn)->name('profile')
نامگذاری یک route برای تولید URL
Route::get('/admin', $fn)->middleware('auth')
افزودن middleware به یک route
Route::resource('posts', PostController::class)
ثبت routeهای resource از نوع RESTful
Route::prefix('admin')->group(function () {})
گروهبندی routeها زیر یک پیشوند URI
Route::controller(PostController::class)->group($fn)
گروهبندی routeها به یک کنترلر
Route::fallback($fn)
مدیریت routeهای بدونتطبیق (۴۰۴)
کنترلرها
10php artisan make:controller PostController --resource
کنترلر resource با متدهای CRUD
public function __invoke(Request $request)
کنترلر invokable تکعملی
public function index() {}
فهرست resourceها (متد resource)
public function store(Request $request) {}
ذخیره یک resource جدید
public function show(Post $post) {}
نمایش یک resource (route model binding)
public function __construct(PostService $svc) {}
تزریق یک وابستگی از طریق constructor
return view('posts.index', ['posts' => $posts])
بازگرداندن یک view از نوع Blade با داده
return response()->json($data)
بازگرداندن یک پاسخ JSON
return redirect()->route('posts.index')
تغییرمسیر به یک route نامدار
return back()
تغییرمسیر به صفحه قبلی
Eloquent ORM
14Post::all()
گرفتن هر رکورد
Post::find($id)
یافتن یک رکورد با کلید اصلی
Post::where('active', true)->first()
اولین رکورد تطبیقیافته با یک شرط
Post::create(['title' => 'Hi'])
mass-assign و ذخیره یک رکورد
$post->update(['title' => 'Edited'])
بهروزرسانی یک مدل موجود
$post->delete()
حذف یک نمونه مدل
Post::firstOrCreate(['slug' => $slug])
یافتن یا ساخت یک رکورد تطبیقیافته
Post::updateOrCreate($attrs, $values)
بهروزرسانی در صورت یافتن، وگرنه ساخت
Post::with('author')->get()
eager load یک رابطه
public function comments() { return $this->hasMany(Comment::class); }
رابطه یکبهچند
public function author() { return $this->belongsTo(User::class); }
رابطه معکوس یکبهچند
protected $fillable = ['title', 'body'];
ویژگیهای mass-assignable
protected function casts(): array { return ['published_at' => 'datetime']; }
cast ویژگیها (متد casts())
Post::onlyTrashed()->restore()
بازیابی رکوردهای soft-deleted
query builder
13DB::table('users')->get()
گرفتن همه سطرها از یک جدول
DB::table('users')->where('votes', '>', 100)->get()
فیلتر سطرها با یک شرط
DB::table('users')->join('posts', 'users.id', '=', 'posts.user_id')
inner join دو جدول
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')
گرفتن یک ستون بهصورت یک collection
DB::table('users')->count()
شمارش سطرهای تطبیقیافته
DB::table('users')->where('id', 1)->exists()
بررسی وجود سطرها
DB::table('users')->paginate(15)
صفحهبندی نتایج
DB::table('users')->chunk(100, $fn)
پردازش نتایج بهصورت chunk
migrationها و schema
12Schema::create('posts', function (Blueprint $table) {})
ساخت جدول جدید
$table->id()
کلید اصلی خودافزایشی
$table->string('title')
ستون VARCHAR
$table->integer('votes')
ستون integer
$table->boolean('active')
ستون boolean
$table->timestamps()
ستونهای created_at و updated_at
$table->foreignId('user_id')->constrained()
کلید خارجی با یک constraint
$table->string('note')->nullable()
اجازه مقادیر NULL
$table->boolean('active')->default(true)
تنظیم یک مقدار پیشفرض
$table->index('slug')
افزودن یک index به یک ستون
$table->unique('email')
افزودن یک constraint یکتا
$table->dropColumn('votes')
حذف یک ستون
قالبهای Blade
14@if ($ok) ... @elseif ($x) ... @else ... @endif
رندر شرطی
@foreach ($posts as $post) ... @endforeach
حلقه روی یک collection
@forelse ($posts as $post) ... @empty ... @endforelse
حلقه با fallback خالی
{{ $variable }}
echo خروجی escaped
{!! $html !!}
echo کردن HTML خام unescaped
@extends('layouts.app')
ارثبری از یک layout
@section('content') ... @endsection
تعریف یک section در layout
@yield('content')
خروجی یک section در یک layout
@include('partials.nav')
include یک view دیگر
<x-alert type="error" />
رندر یک کامپوننت Blade
@csrf
فیلد توکن CSRF برای فرمها
@auth ... @endauth
نمایش محتوا به کاربران احرازشده
@can('update', $post) ... @endcan
بررسی gate مجوزدهی
{{ $loop->index }}
متغیر حلقه درون @foreach
اعتبارسنجی
12$request->validate(['title' => 'required'])
اعتبارسنجی درونخطی داده درخواست
'email' => 'required|email'
قاعده ایمیل الزامی و معتبر
'name' => 'required|max:255'
الزامی با حداکثر طول
'email' => 'unique:users,email'
باید در یک جدول یکتا باشد
'age' => 'nullable|integer|min:18'
integer اختیاری با یک حداقل
'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)
ساخت دستی یک validator
$request->validated()
گرفتن تنها ورودی اعتبارسنجیشده
درخواستها و پاسخها
10request()->input('name')
بازیابی یک مقدار ورودی
request()->query('page')
بازیابی یک مقدار query string
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)
لغو شرطی درخواست
collectionها
13$collection->map(fn ($x) => $x * 2)
تبدیل هر قلم
$collection->filter(fn ($x) => $x > 0)
نگهداشتن اقلام تطبیقیافته
$collection->each(fn ($x) => $x->save())
اجرای یک callback برای هر قلم
$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های تودرتو
$collection->toArray()
تبدیل به یک آرایه ساده
احراز هویت و middleware
11Auth::user()
گرفتن کاربر احرازشده
Auth::check()
بررسی ورود یک کاربر
Auth::id()
گرفتن شناسه کاربر احرازشده
Auth::login($user)
وارد کردن یک کاربر
Auth::logout()
خروج کاربر جاری
auth()->user()
ابزار برای کاربر جاری
Route::get('/home', $fn)->middleware('auth')
محافظت از یک route با auth
Gate::allows('update', $post)
بررسی یک gate مجوزدهی
$user->can('update', $post)
بررسی توانایی در برابر یک policy
php artisan make:policy PostPolicy --model=Post
تولید یک policy مجوزدهی
php artisan make:middleware EnsureTokenIsValid
تولید یک کلاس middleware
ابزارها و متفرقه
12config('app.name')
خواندن یک مقدار config
env('APP_DEBUG', false)
خواندن یک متغیر محیطی
route('posts.show', $post)
تولید یک URL به یک route نامدار
url('/dashboard')
تولید یک URL کاملاً واجد شرایط
asset('css/app.css')
URL برای یک asset عمومی
old('email')
بازیابی ورودی flashشده قبلی
now()->addDays(7)
timestamp جاری Carbon
Str::slug('My Title')
ابزار رشته (slugify)
collect([1, 2, 3])->sum()
ساخت یک collection از یک آرایه
cache()->remember('key', 60, $fn)
cache کردن یک مقدار برای مدتی
dd($value)
dump یک مقدار و die
Storage::put('file.txt', $contents)
نوشتن یک فایل در storage
هیچ موردی با «:q» مطابقت ندارد.
به کمک نیاز دارید؟
با این ابزار مشکلی پیدا کردید؟ به تیم ما اطلاع دهید.