Zana zote
Bila Malipo

Marejeleo ya Laravel yanayoweza kutafutwa na kuchapishwa — Artisan, uelekezaji, Eloquent, mjengaji wa hoja, migrations, Blade, uthibitishaji na makusanyo. Bila malipo.

Artisan CLI

14
php artisan serve
Anzisha seva ya maendeleo ya ndani
php artisan make:model Post -mcr
Model na migration, controller na resource
php artisan make:controller PostController
Tengeneza class mpya ya controller
php artisan make:migration create_posts_table
Tengeneza faili jipya la migration
php artisan migrate
Endesha migrations za hifadhidata zinazosubiri
php artisan migrate:fresh --seed
Futa majedwali yote, migrate tena na seed
php artisan db:seed
Endesha seeders za hifadhidata
php artisan tinker
Fungua shell ya REPL ya mwingiliano
php artisan route:list
Orodhesha routes zote zilizosajiliwa
php artisan optimize
Cache usanidi, routes na views
php artisan queue:work
Chakata kazi kwenye foleni
php artisan schedule:work
Endesha scheduler mbele
php artisan storage:link
Symlink storage kwenye njia ya umma
php artisan key:generate
Tengeneza ufunguo wa programu

Routing

13
Route::get('/users', [UserController::class, 'index'])
Tafsiri route ya GET kwenda controller
Route::post('/users', [UserController::class, 'store'])
Tafsiri route ya POST
Route::put('/users/{user}', [UserController::class, 'update'])
Tafsiri route ya PUT
Route::patch('/users/{user}', [UserController::class, 'update'])
Tafsiri route ya PATCH
Route::delete('/users/{user}', [UserController::class, 'destroy'])
Tafsiri route ya DELETE
Route::get('/users/{id}', $fn)
Kigezo cha route kinachohitajika
Route::get('/users/{id?}', $fn)
Kigezo cha route cha hiari
Route::get('/profile', $fn)->name('profile')
Pa jina route kwa uzalishaji wa URL
Route::get('/admin', $fn)->middleware('auth')
Ambatisha middleware kwenye route
Route::resource('posts', PostController::class)
Sajili routes za resource za RESTful
Route::prefix('admin')->group(function () {})
Panga routes chini ya kiambishi cha URI
Route::controller(PostController::class)->group($fn)
Panga routes kwenda controller moja
Route::fallback($fn)
Shughulikia routes zisizolingana (404)

Controllers

10
php artisan make:controller PostController --resource
Controller ya resource yenye methods za CRUD
public function __invoke(Request $request)
Controller ya kitendo kimoja inayoweza kuitwa
public function index() {}
Orodhesha resources (method ya resource)
public function store(Request $request) {}
Hifadhi resource mpya
public function show(Post $post) {}
Onyesha resource moja (route model binding)
public function __construct(PostService $svc) {}
Ingiza dependency kupitia constructor
return view('posts.index', ['posts' => $posts])
Rudisha view ya Blade na data
return response()->json($data)
Rudisha jibu la JSON
return redirect()->route('posts.index')
Elekeza kwenye route yenye jina
return back()
Elekeza kwenye ukurasa wa awali

Eloquent ORM

14
Post::all()
Pata kila rekodi
Post::find($id)
Pata rekodi kwa primary key
Post::where('active', true)->first()
Rekodi ya kwanza inayolingana na sharti
Post::create(['title' => 'Hi'])
Mass-assign na hifadhi rekodi
$post->update(['title' => 'Edited'])
Sasisha model iliyopo
$post->delete()
Futa instance ya model
Post::firstOrCreate(['slug' => $slug])
Pata au tengeneza rekodi inayolingana
Post::updateOrCreate($attrs, $values)
Sasisha ikipatikana, vinginevyo tengeneza
Post::with('author')->get()
Eager load uhusiano
public function comments() { return $this->hasMany(Comment::class); }
Uhusiano wa moja-kwa-wengi
public function author() { return $this->belongsTo(User::class); }
Uhusiano kinyume wa moja-kwa-wengi
protected $fillable = ['title', 'body'];
Attributes zinazoweza ku-mass-assign
protected function casts(): array { return ['published_at' => 'datetime']; }
Casts za attribute (method ya casts())
Post::onlyTrashed()->restore()
Rejesha rekodi zilizofutwa kwa upole

Query builder

13
DB::table('users')->get()
Fetch safu zote kutoka jedwali
DB::table('users')->where('votes', '>', 100)->get()
Chuja safu kwa sharti
DB::table('users')->join('posts', 'users.id', '=', 'posts.user_id')
Inner join majedwali mawili
DB::table('users')->orderBy('name')->get()
Panga matokeo kwa column
DB::table('orders')->groupBy('status')->get()
Panga safu kwa makundi kwa column
DB::table('users')->select('name', 'email')->get()
Chagua columns mahususi
DB::table('users')->insert(['name' => 'Sam'])
Ingiza safu mpya
DB::table('users')->where('id', 1)->update(['votes' => 1])
Sasisha rows zinazolingana
DB::table('users')->pluck('email')
Pata column moja kama mkusanyiko
DB::table('users')->count()
Hesabu safu zinazolingana
DB::table('users')->where('id', 1)->exists()
Angalia ikiwa safu zipo
DB::table('users')->paginate(15)
Gawanya matokeo kwenye kurasa
DB::table('users')->chunk(100, $fn)
Chakata matokeo kwa vipande

Migrations na schema

12
Schema::create('posts', function (Blueprint $table) {})
Tengeneza jedwali jipya
$table->id()
Primary key inayojiongeza kiotomatiki
$table->string('title')
Column ya VARCHAR
$table->integer('votes')
Column ya integer
$table->boolean('active')
Column ya boolean
$table->timestamps()
Columns za created_at na updated_at
$table->foreignId('user_id')->constrained()
Foreign key yenye constraint
$table->string('note')->nullable()
Ruhusu thamani za NULL
$table->boolean('active')->default(true)
Weka thamani chaguo-msingi
$table->index('slug')
Ongeza index kwenye column
$table->unique('email')
Ongeza constraint ya kipekee
$table->dropColumn('votes')
Futa column

Templates za Blade

14
@if ($ok) ... @elseif ($x) ... @else ... @endif
Uonyeshaji wa masharti
@foreach ($posts as $post) ... @endforeach
Loop kwenye mkusanyiko
@forelse ($posts as $post) ... @empty ... @endforelse
Loop yenye mbadala tupu
{{ $variable }}
Echo matokeo yaliyo escaped
{!! $html !!}
Echo HTML ghafi isiyo escaped
@extends('layouts.app')
Rithi kutoka layout
@section('content') ... @endsection
Tafsiri section ya layout
@yield('content')
Toa section kwenye layout
@include('partials.nav')
Jumuisha view nyingine
<x-alert type="error" />
Render kipengele cha Blade
@csrf
Sehemu ya token ya CSRF kwa fomu
@auth ... @endauth
Onyesha yaliyomo kwa watumiaji waliothibitishwa
@can('update', $post) ... @endcan
Ukaguzi wa gate ya idhini
{{ $loop->index }}
Kigeu cha loop ndani ya @foreach

Uthibitisho

12
$request->validate(['title' => 'required'])
Thibitisha data ya ombi inline
'email' => 'required|email'
Kanuni ya barua pepe inayohitajika na halali
'name' => 'required|max:255'
Inayohitajika na urefu wa juu
'email' => 'unique:users,email'
Lazima iwe ya kipekee kwenye jedwali
'age' => 'nullable|integer|min:18'
Integer ya hiari yenye kima cha chini
'role' => ['required', Rule::in(['admin', 'user'])]
Zuia kwa thamani zinazoruhusiwa
php artisan make:request StorePostRequest
Tengeneza class ya Form Request
public function rules(): array { return [...]; }
Kanuni za uthibitisho za Form Request
public function authorize(): bool { return true; }
Idhini ya Form Request
public function messages(): array { return [...]; }
Ujumbe maalum wa uthibitisho
$validator = Validator::make($data, $rules)
Tengeneza validator kwa mkono
$request->validated()
Pata ingizo lililothibitishwa pekee

Maombi na majibu

10
request()->input('name')
Pata thamani ya ingizo
request()->query('page')
Pata thamani ya query string
request()->all()
Pata ingizo lote kama array
request()->only(['name', 'email'])
Pata sehemu ndogo ya ingizo
request()->has('name')
Angalia ikiwa ingizo lipo
response()->json(['ok' => true])
Rudisha jibu la JSON
redirect()->route('home')->with('status', 'Saved')
Elekeza na ujumbe wa flash
back()->withInput()
Elekeza nyuma ukihifadhi ingizo la zamani
abort(404)
Tupa exception ya HTTP
abort_if($user->banned, 403)
Sitisha ombi kwa masharti

Collections

13
$collection->map(fn ($x) => $x * 2)
Badilisha kila kitu
$collection->filter(fn ($x) => $x > 0)
Hifadhi vitu vinavyolingana
$collection->each(fn ($x) => $x->save())
Endesha callback kwa kila kitu
$collection->pluck('name')
Toa column moja
$collection->reduce(fn ($c, $x) => $c + $x, 0)
Punguza kuwa thamani moja
$collection->sortBy('created_at')
Panga kwa key
$collection->groupBy('status')
Panga vitu kwa makundi kwa key
$collection->where('active', true)
Chuja kwa jozi ya key/value
$collection->first()
Pata kitu cha kwanza
$collection->contains('name', 'Sam')
Angalia kitu kinacholingana
$collection->sum('price')
Jumlisha column
$collection->flatten()
Sambaza collections zilizowekwa ndani
$collection->toArray()
Badilisha kuwa array sahili

Auth na middleware

11
Auth::user()
Pata mtumiaji aliyethibitishwa
Auth::check()
Angalia ikiwa mtumiaji ameingia
Auth::id()
Pata ID ya mtumiaji aliyethibitishwa
Auth::login($user)
Ingiza mtumiaji
Auth::logout()
Toa mtumiaji wa sasa
auth()->user()
Msaidizi kwa mtumiaji wa sasa
Route::get('/home', $fn)->middleware('auth')
Linda route kwa auth
Gate::allows('update', $post)
Angalia gate ya idhini
$user->can('update', $post)
Angalia uwezo dhidi ya policy
php artisan make:policy PostPolicy --model=Post
Tengeneza policy ya idhini
php artisan make:middleware EnsureTokenIsValid
Tengeneza class ya middleware

Wasaidizi na mengineyo

12
config('app.name')
Soma thamani ya usanidi
env('APP_DEBUG', false)
Soma kigeu cha mazingira
route('posts.show', $post)
Tengeneza URL kwenda route yenye jina
url('/dashboard')
Tengeneza URL kamili
asset('css/app.css')
URL kwa asset ya umma
old('email')
Pata ingizo la zamani lililo flashed
now()->addDays(7)
Timestamp ya sasa ya Carbon
Str::slug('My Title')
Msaidizi wa string (slugify)
collect([1, 2, 3])->sum()
Tengeneza mkusanyiko kutoka array
cache()->remember('key', 60, $fn)
Cache thamani kwa muda
dd($value)
Dump thamani na kufa
Storage::put('file.txt', $contents)
Andika faili kwenye storage

Hakuna kipengele kinacholingana na “:q”.


Unahitaji msaada?
Umepata tatizo na zana hii? Tujulishe timu yetu.
Ripoti tatizo

Ongeza zana hii ya bure kwenye tovuti yako mwenyewe — nakili na ubandike msimbo ulio hapa chini.