Όλα τα εργαλεία
Δωρεάν

Ένας οδηγός αναφοράς Laravel με δυνατότητα αναζήτησης και εκτύπωσης — Artisan, δρομολόγηση, Eloquent, ο δημιουργός ερωτημάτων, migrations, Blade, επικύρωση και συλλογές. Δωρεάν.

Artisan CLI

14
php artisan serve
Εκκίνηση τοπικού development server
php artisan make:model Post -mcr
Model με migration, controller και resource
php artisan make:controller PostController
Δημιουργία νέας κλάσης controller
php artisan make:migration create_posts_table
Δημιουργία νέου αρχείου migration
php artisan migrate
Εκτέλεση εκκρεμών database migrations
php artisan migrate:fresh --seed
Drop όλων των πινάκων, re-migrate και seed
php artisan db:seed
Εκτέλεση των database seeders
php artisan tinker
Άνοιγμα διαδραστικού REPL shell
php artisan route:list
Λίστα όλων των καταχωρημένων routes
php artisan optimize
Cache config, routes και views
php artisan queue:work
Επεξεργασία jobs στην ουρά
php artisan schedule:work
Εκτέλεση του scheduler στο προσκήνιο
php artisan storage:link
Symlink storage στο public path
php artisan key:generate
Δημιουργία του application key

Routing

13
Route::get('/users', [UserController::class, 'index'])
Ορισμός GET route σε controller
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
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)
Καταχώρηση RESTful resource routes
Route::prefix('admin')->group(function () {})
Ομαδοποίηση routes υπό πρόθεμα URI
Route::controller(PostController::class)->group($fn)
Ομαδοποίηση routes σε έναν controller
Route::fallback($fn)
Χειρισμός μη-αντιστοιχισμένων routes (404)

Controllers

10
php artisan make:controller PostController --resource
Resource controller με μεθόδους CRUD
public function __invoke(Request $request)
Single-action invokable controller
public function index() {}
Λίστα resources (μέθοδος resource)
public function store(Request $request) {}
Αποθήκευση νέου resource
public function show(Post $post) {}
Εμφάνιση ενός resource (route model binding)
public function __construct(PostService $svc) {}
Inject dependency μέσω constructor
return view('posts.index', ['posts' => $posts])
Επιστροφή Blade view με δεδομένα
return response()->json($data)
Επιστροφή JSON απόκρισης
return redirect()->route('posts.index')
Redirect σε named route
return back()
Redirect στην προηγούμενη σελίδα

Eloquent ORM

14
Post::all()
Λήψη κάθε εγγραφής
Post::find($id)
Εύρεση εγγραφής με primary key
Post::where('active', true)->first()
Πρώτη εγγραφή που ταιριάζει σε συνθήκη
Post::create(['title' => 'Hi'])
Mass-assign και αποθήκευση εγγραφής
$post->update(['title' => 'Edited'])
Ενημέρωση υπάρχοντος model
$post->delete()
Διαγραφή instance model
Post::firstOrCreate(['slug' => $slug])
Εύρεση ή δημιουργία εγγραφής που ταιριάζει
Post::updateOrCreate($attrs, $values)
Ενημέρωση αν βρεθεί, αλλιώς δημιουργία
Post::with('author')->get()
Eager load μιας σχέσης
public function comments() { return $this->hasMany(Comment::class); }
Σχέση one-to-many
public function author() { return $this->belongsTo(User::class); }
Αντίστροφη σχέση one-to-many
protected $fillable = ['title', 'body'];
Mass-assignable attributes
protected function casts(): array { return ['published_at' => 'datetime']; }
Attribute casts (μέθοδος casts())
Post::onlyTrashed()->restore()
Επαναφορά soft-deleted εγγραφών

Query builder

13
DB::table('users')->get()
Λήψη όλων των rows από πίνακα
DB::table('users')->where('votes', '>', 100)->get()
Φιλτράρισμα rows με συνθήκη
DB::table('users')->join('posts', 'users.id', '=', 'posts.user_id')
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])
Ενημέρωση γραμμών που ταιριάζουν
DB::table('users')->pluck('email')
Λήψη ενός column ως collection
DB::table('users')->count()
Καταμέτρηση rows που ταιριάζουν
DB::table('users')->where('id', 1)->exists()
Έλεγχος αν υπάρχουν rows
DB::table('users')->paginate(15)
Σελιδοποίηση των αποτελεσμάτων
DB::table('users')->chunk(100, $fn)
Επεξεργασία αποτελεσμάτων σε chunks

Migrations & schema

12
Schema::create('posts', function (Blueprint $table) {})
Δημιουργία νέου πίνακα
$table->id()
Auto-incrementing primary key
$table->string('title')
VARCHAR column
$table->integer('votes')
Integer column
$table->boolean('active')
Boolean column
$table->timestamps()
Columns created_at και updated_at
$table->foreignId('user_id')->constrained()
Foreign key με constraint
$table->string('note')->nullable()
Επιτρέπει τιμές NULL
$table->boolean('active')->default(true)
Ορισμός προεπιλεγμένης τιμής
$table->index('slug')
Προσθήκη index σε column
$table->unique('email')
Προσθήκη unique constraint
$table->dropColumn('votes')
Drop column

Blade templates

14
@if ($ok) ... @elseif ($x) ... @else ... @endif
Υπό συνθήκη rendering
@foreach ($posts as $post) ... @endforeach
Loop πάνω σε collection
@forelse ($posts as $post) ... @empty ... @endforelse
Loop με empty fallback
{{ $variable }}
Echo escaped εξόδου
{!! $html !!}
Echo unescaped raw HTML
@extends('layouts.app')
Κληρονόμηση από layout
@section('content') ... @endsection
Ορισμός section layout
@yield('content')
Έξοδος section σε layout
@include('partials.nav')
Include άλλου view
<x-alert type="error" />
Render Blade component
@csrf
Πεδίο CSRF token για φόρμες
@auth ... @endauth
Εμφάνιση περιεχομένου σε authenticated χρήστες
@can('update', $post) ... @endcan
Έλεγχος authorization gate
{{ $loop->index }}
Loop μεταβλητή μέσα σε @foreach

Validation

12
$request->validate(['title' => 'required'])
Validation δεδομένων request inline
'email' => 'required|email'
Κανόνας required και έγκυρου email
'name' => 'required|max:255'
Required με μέγιστο μήκος
'email' => 'unique:users,email'
Πρέπει να είναι unique σε πίνακα
'age' => 'nullable|integer|min:18'
Προαιρετικός integer με ελάχιστο
'role' => ['required', Rule::in(['admin', 'user'])]
Περιορισμός σε επιτρεπόμενες τιμές
php artisan make:request StorePostRequest
Δημιουργία κλάσης Form Request
public function rules(): array { return [...]; }
Κανόνες validation Form Request
public function authorize(): bool { return true; }
Authorization Form Request
public function messages(): array { return [...]; }
Προσαρμοσμένα μηνύματα validation
$validator = Validator::make($data, $rules)
Δημιουργία validator χειροκίνητα
$request->validated()
Λήψη μόνο validated input

Requests & responses

10
request()->input('name')
Ανάκτηση τιμής input
request()->query('page')
Ανάκτηση τιμής query string
request()->all()
Λήψη όλου του input ως array
request()->only(['name', 'email'])
Λήψη υποσυνόλου input
request()->has('name')
Έλεγχος αν υπάρχει input
response()->json(['ok' => true])
Επιστροφή JSON απόκρισης
redirect()->route('home')->with('status', 'Saved')
Redirect με flash μήνυμα
back()->withInput()
Redirect πίσω διατηρώντας old input
abort(404)
Πέταγμα HTTP exception
abort_if($user->banned, 403)
Υπό συνθήκη abort του request

Collections

13
$collection->map(fn ($x) => $x * 2)
Μετασχηματισμός κάθε στοιχείου
$collection->filter(fn ($x) => $x > 0)
Διατήρηση στοιχείων που ταιριάζουν
$collection->each(fn ($x) => $x->save())
Εκτέλεση callback ανά στοιχείο
$collection->pluck('name')
Εξαγωγή ενός column
$collection->reduce(fn ($c, $x) => $c + $x, 0)
Συμπύκνωση σε μία τιμή
$collection->sortBy('created_at')
Ταξινόμηση με key
$collection->groupBy('status')
Ομαδοποίηση στοιχείων με key
$collection->where('active', true)
Φιλτράρισμα με ζεύγος key/value
$collection->first()
Λήψη του πρώτου στοιχείου
$collection->contains('name', 'Sam')
Έλεγχος για στοιχείο που ταιριάζει
$collection->sum('price')
Άθροισμα ενός column
$collection->flatten()
Flatten φωλιασμένων collections
$collection->toArray()
Μετατροπή σε plain array

Auth & middleware

11
Auth::user()
Λήψη του authenticated χρήστη
Auth::check()
Έλεγχος αν ένας χρήστης είναι συνδεδεμένος
Auth::id()
Λήψη του ID του authenticated χρήστη
Auth::login($user)
Σύνδεση χρήστη
Auth::logout()
Αποσύνδεση του τρέχοντος χρήστη
auth()->user()
Helper για τον τρέχοντα χρήστη
Route::get('/home', $fn)->middleware('auth')
Προστασία route με auth
Gate::allows('update', $post)
Έλεγχος authorization gate
$user->can('update', $post)
Έλεγχος ability έναντι policy
php artisan make:policy PostPolicy --model=Post
Δημιουργία authorization policy
php artisan make:middleware EnsureTokenIsValid
Δημιουργία κλάσης middleware

Βοηθοί & διάφορα

12
config('app.name')
Ανάγνωση τιμής config
env('APP_DEBUG', false)
Ανάγνωση environment variable
route('posts.show', $post)
Δημιουργία URL σε named route
url('/dashboard')
Δημιουργία πλήρως προσδιορισμένου URL
asset('css/app.css')
URL για public asset
old('email')
Ανάκτηση old flashed input
now()->addDays(7)
Τρέχον Carbon timestamp
Str::slug('My Title')
String helper (slugify)
collect([1, 2, 3])->sum()
Δημιουργία collection από array
cache()->remember('key', 60, $fn)
Cache τιμής για μια διάρκεια
dd($value)
Dump τιμής και die
Storage::put('file.txt', $contents)
Εγγραφή αρχείου στο storage

Καμία καταχώριση δεν ταιριάζει με «:q».


Κοινοποίηση
Χρειάζεστε βοήθεια;
Βρήκατε πρόβλημα με αυτό το εργαλείο; Ενημερώστε μας.
Αναφορά προβλήματος

Προσθέστε αυτό το δωρεάν εργαλείο στον δικό σας ιστότοπο — αντιγράψτε και επικολλήστε τον παρακάτω κώδικα.