Всички инструменти
Безплатно

Търсим, удобен за печат справочник за Laravel — Artisan, маршрутизация, Eloquent, конструкторът на заявки, миграции, Blade, валидация и колекции. Безплатно.

Artisan CLI

14
php artisan serve
Стартира локалния сървър за разработка
php artisan make:model Post -mcr
Модел с миграция, контролер и resource
php artisan make:controller PostController
Генерира нов клас контролер
php artisan make:migration create_posts_table
Създава нов файл за миграция
php artisan migrate
Изпълнява чакащите миграции на базата
php artisan migrate:fresh --seed
Изтрива всички таблици, мигрира наново и seed-ва
php artisan db:seed
Изпълнява seeder-ите на базата
php artisan tinker
Отваря интерактивен REPL шел
php artisan route:list
Извежда всички регистрирани маршрути
php artisan optimize
Кешира конфигурация, маршрути и изгледи
php artisan queue:work
Обработва задачите от опашката
php artisan schedule:work
Стартира планировчика на преден план
php artisan storage:link
Създава symlink от storage към публичния път
php artisan key:generate
Генерира ключа на приложението

Маршрутизиране

13
Route::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')
Именува маршрут за генериране на URL
Route::get('/admin', $fn)->middleware('auth')
Прикача middleware към маршрут
Route::resource('posts', PostController::class)
Регистрира RESTful resource маршрути
Route::prefix('admin')->group(function () {})
Групира маршрути под URI префикс
Route::controller(PostController::class)->group($fn)
Групира маршрути към един контролер
Route::fallback($fn)
Обработва несъвпаднали маршрути (404)

Контролери

10
php artisan make:controller PostController --resource
Resource контролер с CRUD методи
public function __invoke(Request $request)
Контролер с едно действие (invokable)
public function index() {}
Извежда ресурси (метод resource)
public function store(Request $request) {}
Запазва нов ресурс
public function show(Post $post) {}
Показва един ресурс (route model binding)
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

14
Post::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()
Eager зареждане на връзка
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()
Възстановява меко изтрити записи

Конструктор на заявки

13
DB::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')
Връща една колона като колекция
DB::table('users')->count()
Брои съвпадащите редове
DB::table('users')->where('id', 1)->exists()
Проверява дали съществуват редове
DB::table('users')->paginate(15)
Странициране на резултатите
DB::table('users')->chunk(100, $fn)
Обработва резултатите на части

Миграции и схема

12
Schema::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
Проверка на authorization 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'
Опционално цяло число с минимум
'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()
Връща само валидираните данни

Заявки и отговори

10
request()->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())
Изпълнява 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->toArray()
Преобразува в обикновен масив

Удостоверяване и middleware

11
Auth::user()
Връща удостоверения потребител
Auth::check()
Проверява дали потребител е влязъл
Auth::id()
Връща ID на удостоверения потребител
Auth::login($user)
Влиза с потребител
Auth::logout()
Излиза с текущия потребител
auth()->user()
Помощник за текущия потребител
Route::get('/home', $fn)->middleware('auth')
Защитава маршрут с auth
Gate::allows('update', $post)
Проверява authorization gate
$user->can('update', $post)
Проверява способност спрямо policy
php artisan make:policy PostPolicy --model=Post
Генерира authorization policy
php artisan make:middleware EnsureTokenIsValid
Генерира клас middleware

Помощни класове и разни

12
config('app.name')
Чете конфигурационна стойност
env('APP_DEBUG', false)
Чете променлива на средата
route('posts.show', $post)
Генерира URL към именуван маршрут
url('/dashboard')
Генерира напълно квалифициран URL
asset('css/app.css')
URL за публичен ресурс
old('email')
Извлича стари flash данни
now()->addDays(7)
Текущ Carbon времеви маркер
Str::slug('My Title')
Помощник за низове (slugify)
collect([1, 2, 3])->sum()
Създава колекция от масив
cache()->remember('key', 60, $fn)
Кешира стойност за определено време
dd($value)
Извежда стойност и прекратява (dump and die)
Storage::put('file.txt', $contents)
Записва файл в хранилището

Няма запис, който да съответства на „:q“.


Сподели
Нуждаете се от помощ?
Открихте проблем с този инструмент? Кажете ни.
Докладване на проблем

Добавете този безплатен инструмент към собствения си уебсайт — копирайте и поставете кода по-долу.