Laravel چیٹ شیٹ
قابلِ تلاش اور قابلِ پرنٹ Laravel حوالہ — Artisan، روٹنگ، Eloquent، کوئری بلڈر، migrations، Blade، ویلیڈیشن اور کلیکشنز۔ مفت۔
Artisan CLI
14php artisan serve
local development server شروع کریں
php artisan make:model Post -mcr
migration، controller اور resource کے ساتھ model
php artisan make:controller PostController
نیا controller class بنائیں
php artisan make:migration create_posts_table
نئی migration فائل بنائیں
php artisan migrate
زیر التواء database migrations چلائیں
php artisan migrate:fresh --seed
تمام tables drop کر کے دوبارہ migrate اور seed کریں
php artisan db:seed
database seeders چلائیں
php artisan tinker
interactive REPL shell کھولیں
php artisan route:list
تمام رجسٹرڈ routes دکھائیں
php artisan optimize
config، routes اور views کیش کریں
php artisan queue:work
queue پر jobs پروسیس کریں
php artisan schedule:work
scheduler کو foreground میں چلائیں
php artisan storage:link
storage کو public path سے symlink کریں
php artisan key:generate
application key بنائیں
routing
13Route::get('/users', [UserController::class, 'index'])
controller کو GET route بنائیں
Route::post('/users', [UserController::class, 'store'])
POST route بنائیں
Route::put('/users/{user}', [UserController::class, 'update'])
PUT route بنائیں
Route::patch('/users/{user}', [UserController::class, 'update'])
PATCH route بنائیں
Route::delete('/users/{user}', [UserController::class, 'destroy'])
DELETE route بنائیں
Route::get('/users/{id}', $fn)
لازمی route parameter
Route::get('/users/{id?}', $fn)
اختیاری route parameter
Route::get('/profile', $fn)->name('profile')
URL generation کے لیے route کا نام دیں
Route::get('/admin', $fn)->middleware('auth')
route سے middleware منسلک کریں
Route::resource('posts', PostController::class)
RESTful resource routes رجسٹر کریں
Route::prefix('admin')->group(function () {})
routes کو URI prefix کے تحت گروپ کریں
Route::controller(PostController::class)->group($fn)
routes کو ایک controller میں گروپ کریں
Route::fallback($fn)
غیر match routes سنبھالیں (404)
controllers
10php artisan make:controller PostController --resource
CRUD methods کے ساتھ resource controller
public function __invoke(Request $request)
single-action invokable controller
public function index() {}
resources دکھائیں (resource method)
public function store(Request $request) {}
نیا resource محفوظ کریں
public function show(Post $post) {}
ایک resource دکھائیں (route model binding)
public function __construct(PostService $svc) {}
constructor کے ذریعے dependency inject کریں
return view('posts.index', ['posts' => $posts])
ڈیٹا کے ساتھ Blade view لوٹائیں
return response()->json($data)
JSON response لوٹائیں
return redirect()->route('posts.index')
named route پر redirect کریں
return back()
پچھلے صفحے پر redirect کریں
Eloquent ORM
14Post::all()
ہر record حاصل کریں
Post::find($id)
primary key سے record تلاش کریں
Post::where('active', true)->first()
شرط سے match کرنے والا پہلا record
Post::create(['title' => 'Hi'])
record کو mass-assign کر کے محفوظ کریں
$post->update(['title' => 'Edited'])
موجودہ model اپ ڈیٹ کریں
$post->delete()
model instance حذف کریں
Post::firstOrCreate(['slug' => $slug])
match کرنے والا record تلاش یا بنائیں
Post::updateOrCreate($attrs, $values)
ملنے پر اپ ڈیٹ، ورنہ بنائیں
Post::with('author')->get()
relationship کو eager load کریں
public function comments() { return $this->hasMany(Comment::class); }
one-to-many relationship
public function author() { return $this->belongsTo(User::class); }
معکوس one-to-many relationship
protected $fillable = ['title', 'body'];
mass-assignable attributes
protected function casts(): array { return ['published_at' => 'datetime']; }
attribute casts (casts() method)
Post::onlyTrashed()->restore()
soft-deleted records بحال کریں
query builder
13DB::table('users')->get()
table سے تمام rows لائیں
DB::table('users')->where('votes', '>', 100)->get()
شرط سے rows فلٹر کریں
DB::table('users')->join('posts', 'users.id', '=', 'posts.user_id')
دو tables کو inner join کریں
DB::table('users')->orderBy('name')->get()
نتائج کو column سے ترتیب دیں
DB::table('orders')->groupBy('status')->get()
rows کو column سے گروپ کریں
DB::table('users')->select('name', 'email')->get()
مخصوص کالم منتخب کریں
DB::table('users')->insert(['name' => 'Sam'])
نیا row داخل کریں
DB::table('users')->where('id', 1)->update(['votes' => 1])
میچ کرنے والی rows اپ ڈیٹ کریں
DB::table('users')->pluck('email')
ایک column کو collection کے طور پر حاصل کریں
DB::table('users')->count()
match کرنے والی rows گنیں
DB::table('users')->where('id', 1)->exists()
چیک کریں کہ rows موجود ہیں
DB::table('users')->paginate(15)
نتائج paginate کریں
DB::table('users')->chunk(100, $fn)
نتائج chunks میں پروسیس کریں
migrations اور schema
12Schema::create('posts', function (Blueprint $table) {})
نیا table بنائیں
$table->id()
auto-incrementing primary key
$table->string('title')
VARCHAR column
$table->integer('votes')
integer column
$table->boolean('active')
boolean column
$table->timestamps()
created_at اور updated_at columns
$table->foreignId('user_id')->constrained()
constraint کے ساتھ foreign key
$table->string('note')->nullable()
NULL ویلیوز کی اجازت دیں
$table->boolean('active')->default(true)
ڈیفالٹ ویلیو سیٹ کریں
$table->index('slug')
column میں index شامل کریں
$table->unique('email')
unique constraint شامل کریں
$table->dropColumn('votes')
column drop کریں
Blade templates
14@if ($ok) ... @elseif ($x) ... @else ... @endif
مشروط rendering
@foreach ($posts as $post) ... @endforeach
collection پر loop کریں
@forelse ($posts as $post) ... @empty ... @endforelse
empty fallback کے ساتھ loop
{{ $variable }}
escaped آؤٹ پٹ echo کریں
{!! $html !!}
unescaped خام HTML echo کریں
@extends('layouts.app')
layout سے وراثت لیں
@section('content') ... @endsection
layout section بنائیں
@yield('content')
layout میں section آؤٹ پٹ کریں
@include('partials.nav')
دوسری view شامل کریں
<x-alert type="error" />
Blade component render کریں
@csrf
forms کے لیے CSRF token field
@auth ... @endauth
authenticated users کو مواد دکھائیں
@can('update', $post) ... @endcan
authorization gate چیک
{{ $loop->index }}
@foreach کے اندر loop variable
validation
12$request->validate(['title' => 'required'])
request ڈیٹا inline validate کریں
'email' => 'required|email'
لازمی اور درست email rule
'name' => 'required|max:255'
max length کے ساتھ لازمی
'email' => 'unique:users,email'
table میں unique ہونا چاہیے
'age' => 'nullable|integer|min:18'
minimum کے ساتھ اختیاری integer
'role' => ['required', Rule::in(['admin', 'user'])]
اجازت یافتہ ویلیوز تک محدود کریں
php artisan make:request StorePostRequest
Form Request class بنائیں
public function rules(): array { return [...]; }
Form Request validation rules
public function authorize(): bool { return true; }
Form Request authorization
public function messages(): array { return [...]; }
کسٹم validation پیغامات
$validator = Validator::make($data, $rules)
validator دستی طور پر بنائیں
$request->validated()
صرف validated input حاصل کریں
requests اور responses
10request()->input('name')
input ویلیو حاصل کریں
request()->query('page')
query string ویلیو حاصل کریں
request()->all()
تمام input array کے طور پر حاصل کریں
request()->only(['name', 'email'])
input کا subset حاصل کریں
request()->has('name')
چیک کریں کہ input موجود ہے
response()->json(['ok' => true])
JSON response لوٹائیں
redirect()->route('home')->with('status', 'Saved')
flash پیغام کے ساتھ redirect کریں
back()->withInput()
پرانا input رکھتے ہوئے واپس redirect کریں
abort(404)
HTTP exception پھینکیں
abort_if($user->banned, 403)
مشروط طور پر request ترک کریں
collections
13$collection->map(fn ($x) => $x * 2)
ہر item transform کریں
$collection->filter(fn ($x) => $x > 0)
match کرنے والے items رکھیں
$collection->each(fn ($x) => $x->save())
ہر item پر callback چلائیں
$collection->pluck('name')
ایک column نکالیں
$collection->reduce(fn ($c, $x) => $c + $x, 0)
ایک ویلیو میں reduce کریں
$collection->sortBy('created_at')
key سے sort کریں
$collection->groupBy('status')
items کو key سے گروپ کریں
$collection->where('active', true)
key/value جوڑے سے فلٹر کریں
$collection->first()
پہلا item حاصل کریں
$collection->contains('name', 'Sam')
match کرنے والے item کے لیے چیک کریں
$collection->sum('price')
ایک column کا sum
$collection->flatten()
nested collections کو flatten کریں
$collection->toArray()
سادہ array میں بدلیں
auth اور middleware
11Auth::user()
authenticated user حاصل کریں
Auth::check()
چیک کریں کہ user لاگ ان ہے
Auth::id()
authenticated user ID حاصل کریں
Auth::login($user)
user کو لاگ ان کریں
Auth::logout()
موجودہ user کو لاگ آؤٹ کریں
auth()->user()
موجودہ user کے لیے helper
Route::get('/home', $fn)->middleware('auth')
auth سے route محفوظ کریں
Gate::allows('update', $post)
authorization gate چیک کریں
$user->can('update', $post)
policy کے خلاف ability چیک کریں
php artisan make:policy PostPolicy --model=Post
authorization policy بنائیں
php artisan make:middleware EnsureTokenIsValid
middleware class بنائیں
helpers اور متفرق
12config('app.name')
config ویلیو پڑھیں
env('APP_DEBUG', false)
environment variable پڑھیں
route('posts.show', $post)
named route کا URL بنائیں
url('/dashboard')
مکمل qualified URL بنائیں
asset('css/app.css')
public asset کا URL
old('email')
پرانا flashed input حاصل کریں
now()->addDays(7)
موجودہ Carbon timestamp
Str::slug('My Title')
string helper (slugify)
collect([1, 2, 3])->sum()
array سے collection بنائیں
cache()->remember('key', 60, $fn)
ایک مدت کے لیے ویلیو کیش کریں
dd($value)
ویلیو dump کر کے die کریں
Storage::put('file.txt', $contents)
storage میں فائل لکھیں
کوئی اندراج “:q” سے میل نہیں کھاتا۔
مدد چاہیے؟
اس ٹول میں کوئی مسئلہ ملا؟ ہماری ٹیم کو بتائیں۔